Wieso soll TDateTime nicht mit Werten über 24h zurechtkommen?
Wie bereits erwähnt wurde ist schließlich das Datum auch mit enthalten, womit auch mehr als 24h möglich sind.
Außerdem ist TDateTime doch von Haus aus ein differentieller Datentyp ... er reprenseniert ja auch nur die Differenz zu 30.12.1899 0°°.
Es kommt also nur darauf an wie man die Werte darin interpretiert und was man als Bezugspunkt wählt.
Delphi-Quellcode:
Diff := Abs(DateTime1 - DateTime2);
S := IntToStr(Trunc(Diff)) + ' Day(s) ' + TimeToStr(Diff);