Mira este ejemplo, aunque no veo porque guardar en una variable de tipo Variant una fecha, este tipo de variables ocupan demasiado en memoria y si es posible es mejor evitarlas.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
dIni:TDate;
vMal:Variant;
dPeor:TDate;
begin
dIni:=Date;
vmal:=Date;
dPeor:=Vmal;
ShowMessage(DateToStr(dPeor));
end;
Un Saludo.