Hallo,
ich habe nur den Screenshot angesehen und frage mich, wozu du
IsValidDate geschrieben hast. Du nutzt die Funktion
DaysInMonth aus der
DateUtils.pas nehme ich an. Dort befindet sich jedoch ebenso die Funktion
IsValidDate (dort ist "dein" Code auf wenige Zeilen reduziert). Wozu also doppelt implementieren?

Und "exit" zu nutzen ist nicht die saubere Art, das geht normalerweise auch anders.
Grüße