Eine datensensitive Datumskomponente wäre die Lösung.
Leider hat Delphi sowas nicht und man müsste sich selbst z.B. den TDateTimePicker umbiegen.
passende Femdkomponenten gäbe es aber von vielen Herstellern.
Auch ein Maskedit hilft hier nicht, denn es weiß garnicht wie es das vervollständigen soll.
TDBEdit besitzt auch kein OnValidate-Event (so wie die
DB-Komponenten anderer Hersteller), aber eventuell findest du ja in deinem Field oder DataSet/
Query ein dafür nutzbares Event.