Hola,
Una posible solución, que encontré
en Torry's, es usar cierta función de la unidad "SysUtils" y comprobar si se produce una excepción o no:
Código Delphi
[-]
function IsValidDate(AString : string;
var ADateTime : TDateTime): Boolean;
begin
Result := True;
try
ADateTime := StrToDateTime(AString);
except
ADateTime := 0;
Result := False;
end;
end;