Oldy, да ладно, там не так уж и просто всё
задача стоит остаточное время вывести. разница между d1 и d2 по модулю даст разницу, но опять таки в формате TDateTime. эту разницу потом ещё надо будет разкодировать (DecodeDateTime, если не ошибаюсь) и вычислив по годам, месяцам и дням количество дней, по дробной части вычислить время. другое дело, что в семёрке появились могучие функции, типа
function DaysBetween(const ANow, AThen: TDateTime): Integer;
, которые большую часть рутинной рабты берут на себя.