По мне, так лучше с датами сравнения проводить только диапозонами (>= .. <=), и всегда помнить, что нет типа TDate и TTime, а есть тип TDateTime;
Вырезка из юнита Controls:
Код:
...
TDate = type TDateTime;
TTime = type TDateTime;
{$EXTERNALSYM TDate}
{$EXTERNALSYM TTime}
(*$HPPEMIT 'namespace Controls'*)
(*$HPPEMIT '{'*)
(*$HPPEMIT ' typedef System::TDateTime TDate;'*)
(*$HPPEMIT ' typedef System::TDateTime TTime;'*)
(*$HPPEMIT '}'*)
...