Program: 80769
Project: 80769
Buggy source:
public void updateEntity(){
  super.updateEntity();
  if (!worldObj.isRemote) {
    if (!isBurning()) {
      if (readyToBurn()) {
        if (slots[SLOT_FUEL] != null) {
          if (isFuel()) {
            burnLevel=progress=getBurnTime();
            addPartialUpdate("String_Node_Str",progress);
            addPartialUpdate("String_Node_Str",burnLevel);
            if (slots[SLOT_FUEL].getItem().hasContainerItem(slots[SLOT_FUEL])) {
              slots[SLOT_FUEL]=slots[SLOT_FUEL].getItem().getContainerItem(slots[SLOT_FUEL]);
            }
 else {
              slots[SLOT_FUEL].stackSize--;
              if (slots[SLOT_FUEL].stackSize == 0) {
                slots[SLOT_FUEL]=null;
              }
            }
          }
 else           if (hasEngine()) {
            if (useEnergy(PAConfig.rfCost,false) > 0) {
              if (burnLevel != 1 || progress != 1) {
                burnLevel=progress=1;
                addPartialUpdate("String_Node_Str",progress);
                addPartialUpdate("String_Node_Str",burnLevel);
              }
            }
          }
        }
      }
    }
 else {
      progress--;
      if (progress <= 0) {
        burnLevel=progress=0;
        addPartialUpdate("String_Node_Str",burnLevel);
        if ((readyToBurn()) && (hasEngine())) {
          if (useEnergy(PAConfig.rfCost,false) > 0) {
            burnLevel=progress=1;
          }
        }
      }
      addPartialUpdate("String_Node_Str",progress);
    }
    checkForPowerChange();
  }
}

Fixed version (ground truth):
public void updateEntity(){
  super.updateEntity();
  if (!worldObj.isRemote) {
    if (!isBurning()) {
      RedstonePowered=isIndirectlyPowered();
      if (!RedstonePowered) {
        if (readyToBurn()) {
          if (slots[SLOT_FUEL] != null) {
            if (isFuel()) {
              burnLevel=progress=getBurnTime();
              addPartialUpdate("String_Node_Str",progress);
              addPartialUpdate("String_Node_Str",burnLevel);
              if (slots[SLOT_FUEL].getItem().hasContainerItem(slots[SLOT_FUEL])) {
                slots[SLOT_FUEL]=slots[SLOT_FUEL].getItem().getContainerItem(slots[SLOT_FUEL]);
              }
 else {
                slots[SLOT_FUEL].stackSize--;
                if (slots[SLOT_FUEL].stackSize == 0) {
                  slots[SLOT_FUEL]=null;
                }
              }
            }
 else             if (hasEngine()) {
              if (useEnergy(PAConfig.rfCost,false) > 0) {
                if (burnLevel != 1 || progress != 1) {
                  burnLevel=progress=1;
                  addPartialUpdate("String_Node_Str",progress);
                  addPartialUpdate("String_Node_Str",burnLevel);
                }
              }
            }
          }
        }
      }
    }
 else {
      progress--;
      if (progress <= 0) {
        burnLevel=progress=0;
        addPartialUpdate("String_Node_Str",burnLevel);
        if ((readyToBurn()) && (hasEngine())) {
          if (useEnergy(PAConfig.rfCost,false) > 0) {
            burnLevel=progress=1;
          }
        }
      }
      addPartialUpdate("String_Node_Str",progress);
    }
    checkForPowerChange();
  }
}