Ich glaube du hast noch eine falsche Vorstellung davon, was genau TimerInit und TimerDiff intern machen:
Intern läuft quasi ein einzelner "echter" Timer. Wenn du nun TimerInit() aufrufst, so gibt TimerInit den aktuellen Wert dieses Timers zurück. Wenn du jetzt mit TimerDiff die Zeit ermitteln willst, so nimmt TimerDiff die Differenz des "echten" Timers und dem Wert von TimerInit, was dann die vergangene Zeit ergibt. Das bedeutet es ist absolut korrekt die Variable einfach =0 zu setzen (oder eben erneut var=TimerInit() zu machen).