Vielleicht gäbe es doch eine Watchdog-Lösung, wenn Du ein Bit als Flag benutzt, das nach erfolgter Eingabe der Zeiten auf 1 gesetzt wird. Dann müsstest Du zum Programmstart nur abfragen ob das Bit 1 ist und das Programm in diesem Fall an die gewünschte Stelle springen lassen, ansonsten geht´s zur Zeiteingabe weiter

Aber dass das Programm stehenbleibt ist ja schon irgendwie merkwürdig. Gibt´s dafür denn eine plausible Ursache?