setze nicht den timerintervall sondern eine variable, die du im onTimer (interval z.b. 1000 ms) herunterzählst.
wenn du bei 0 angekommen bist, deaktivierst du den timer und führst du deine aktion aus

bei so langen zeitspannen würde ich jedoch zur zeitmessung GetTickCount, Now() o.ä. verwenden und mich nicht auf den timer direkt verlassen... (beim starten aktuelleZeit+33min und im timer aktuelle zeit mit dem errechneten Wert vergleichen)
HTH Frank