Warum machst du das so ungenau und kompliziert?
Du kannst doch einfach einen eigenen Thread nutzen und diesen jeweils 60 Sekunden schlafen legen. Bei hoher Rechnerauslastung ist auch das nicht ganz genau.
Aber noch besser: Gleiche einfach den Wert von GetTickCount64 mit der eingestellten Zeit ab. GetTickCount64 zählt gleichmäßig weiter, auch wenn jemand die Systemzeit ändert. Wenn sich also die Differenz zur UTC-Zeit (sprich ohne Beachtung der eingestellten Zeitzone) ändert, hat jemand an der Uhr gedreht.
Nebenbei wurden beide Wege schon z.B. für Trial-Lösungen verwendet, sind aber beide kinderleicht auszutricksen. Es sollte also nichts wirklich Wichtiges auf diese Weise geschützt werden.