Date/times are stored as "special" real numbers, with the whole number
part corresponding to the number of days since December 31, 1899 (from
memory) and the fractional part corresponding to the time past
midnight in fractions of a _day_. They are not really intended for use
to store elapsed times, especially when these go over 24 hours.
The result of your calculation is 1 day, which will be stored
correctly in the date/time variable which you are using to hold it..
If you display the contents of this variable using a time format,
however, only the fractional part of the date/time is displayed, which
is zero in this case. If a time difference is going to exceed 24
hours, you really need to cast it into a regular real variable and
convert and format it manually.