So ganz blicke ich da nicht durch, aber mal soviel:
Lokale Variablen verlieren ihr Gültigkeit nach verlassen der Prozedur / Funktion. Desweiteren sollte man sie initialisieren, da sie nicht, wie globale Variablen, mit einem neutralen Wert vorbelegt werden.
Bei dir würde das bedeuten, dass alle Variable, die du in der Timer-Prozedur deklariert hast, bei jedem Aufruf zurück gesetzt werden.
Mehr kann ich dir auch nicht helfen, da ich den Code absolute nicht verstehen. Entweder ist er einfach zu genial für mich oder Schrott - such dir was aus.
