Efectivamente la fecha en delphi es un double.
prueba esto:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var f:TDate;
begin
f:=38428;
showmessage(datetostr(f));
end;
procedure TForm1.Button2Click(Sender: TObject);
var f: Double;
T:TDate;
begin
t:=strtodate('17/03/2005');
f:=t;
ShowMessage(floattostr(f));
end;