Warum zählst Du extra eine globale Variable hoch, anstatt die Systemuhr für Dich die vergangene Zeit angeben zu lassen?
Abgesehen davon finde ich Deinen Ansatz recht verworren.
Warum organisierst Du die
Blinkattacken Deiens Würfels nicht in einem eigenen Objekt und später die Rotation in einem anderen. Dann kannst Du diese Animationen als Objekte in eine Liste erzeugen und Deinen Timer in regelmäßigen kurzen Abständen diese Liste abarbeiten lassen.
Deinen Timer hat doch nicht zu interessieren was Deine Objekte anzeigen, er hat nur dafür sorge zu tragen, dass die Objekte immer wider mal angestuppst werden um den Bildschirm zu aktualisieren.
Wenn Du noch die Parentform an Deine Objekte übergibst, kannst Du direkt aus den Objekten heraus das Neuzeichnen der Form oder besser Übergabe der Zeichenfläche udn refresh der Zeichenfläche auslösen.
Tut mir leid, dass ich gerade eher den Eindruck habe als ob Du dabei bist Dein Projekt ein wenig zu einem Nudelgericht zu verdrehen.