Du verwendest glaube ich den falschen Parameter.
In der ChangeTimer-Funktion benutzt du den Parameter $iTime nie, in der ChangeTimerPause-Funktion benutzt du aber respektive $iTimerPause.
Wenn ich den $iTimerPause Wert ausgeben lasse liegt er irgendwo bei 700.000 bei mir, und das kann ja wohl nicht im Rahmen deiner Berechnung liegen.
Ein kurzer Blick nach oben im Skript und ich sehe, dass du $iTimerPause außerhalb der Funktion global deklariert und definiert hast.
Da der Parameter allerdings den selben Namen trägt, wird er immer den Parameter bzw. den lokalen Scope zuerst verwenden und dann den globalen.
Gebe ich dem Parameter einen Namen (egal welchen) funktioniert der Balken einwandfrei.