Stimmt, hab's eben ausprobiert: Mit DateOf(Datum) erfolgt die Berechnung korrekt.
TDate ist tatsächlich vom Typ TDateTime, das wiederum vom Typ Double ist.
Delphi-Quellcode:
procedure TFormMain.Button1Click(Sender: TObject);
Var
start,
ende,
ereignis : TDate;
Aus : String;
begin
start := DateOf(StrToDate('01.03.2014'));
ende := DateOf(StrToDate('30.04.2014'));
ereignis := DateOf(DateTimePicker1.Date);
if (ereignis >= start) and
(ereignis <= ende) then
Aus := 'innerhalb' else
Aus := 'außerhalb';
ShowMessage(Aus);
end;