Your progress report is messed up. You might try something that looks at total xp and calculates it from that. Make sure to add in a toggle total xp during the start of the scrip though. Might look something like this
Simba Code:
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;