Übrigens bleibt bei deiner Funktion Result undefiniert, wenn der übergebene String einen korrekten Datumswert enthält.
Glaube ich nicht! Wenn der String einen korrekten Datumswert enthält, dann gibt TryStrToDate true zurück und result enthält das umgewandelte Datum.