Ich denke auch, es liegt hier ganz einfach ein Rechenfehler vor. Einfach mal wie Popov schon sagte die Variablenwerte anschauen, und nachvollziehen was das Programm an der Stelle macht. Was ist denn der Anfangswert für Wechsel? Wenn du den plus 100 setzt und der ist schon größer als -100, wird der genannte Effekt auftreten.
OT: Kann es sein, dass der Server noch auf Winterzeit eingestellt ist, oder wird der nicht umgestellt?