Die Abbruchbedingung wird halt nie erfüllt.
Real-Werte solltest du grundsätzlich nie auf Gleichheit bzw. Ungleichheit testen, das ist reine Glückssache. Entweder du nimmst zur Schleifensteuerung Ordinal-werte oder du musst einen Bereichstest durchführen. In der Schule und im Studium rangiert sowas unter epsilon Test.
Delphi-Quellcode:
const
epsilon = 0.0001;
begin
while Abs(Frac(t1) - Frac(t2)) > epsilon do
...;
end;
epsilon musst du natürlich geeignet wählen.
In deinem Fall verstehe ich nicht, warum du überhaupt mit Real-Werten operierst. Die Zeiteinheiten sind ja eigentlich Ordinal-Werte. Nur zur Ermöglichung von Zeitarithmetik wurde die Zeit als Teil eines Tages ausgedrückt. Das ist eine sinnvolle Abbildung, aber du brauchst sie doch gar nicht und kannst direkt mit Sekunden rechnen.
Grüße vom marabu