TField.AsDataTime gibt bei leer und Null eine 0, also das Ende von 1899.
Sicher, dass "leer" wirklich NULL ist?
DevExpress und andere Fremdkomponenten nehmen als Wert für "Nichts" auch gern mal was Negatives, nahe dem Jahr 0, was in Stunden schnell mal 2-stellige Millionen ergeben kann.
Als Differenz zu jetzt wären es aber nur rund 37.000 und keine 675.000 oder gar über eine Million.
[edit] ja, Stunden ... nicht Tage
Als Differenz von 0 zu jetzt sind es rund 37.000 Tage, also 888.000 Stunden, was deinen Werten sehr nahe kommt.