Ich hatte das mal so gelöst:
Delphi-Quellcode:
function TimeDiff(TickCount: Cardinal): Cardinal;
begin
{$ifopt Q+}{$define recoveroverflowcheck}{$Q-}{$endif}
Result := GetTickCount - TickCount;
{$ifdef recoveroverflowcheck}{$Q+}{$endif}
end;
Diese Funktion kann nur eine maximal Zeitdifferenz von besagten 49 Tagen auswerfen. Wie lange der Rechner läuft spielt aber keine Rolle.