а попробуйте преобразовать один тип в другой через _TO_ ,компилятор будет ругаться, так почему же он должен корректно производить арифметические действия с несовместимыми типами?
ЗЫЦитата:
d1:=DATE#2015-01-13 - T#1h;
d2:=DATE_TO_DWORD(DATE#2015-01-13);
d3:=TIME_TO_DWORD(T#1h);
d4:=DWORD_TO_DATE(d2-d3);