Aquí tienes un ejemplo con Maskedit, hay que tener en cuenta que con este control se pueden introducir fechas incorrectas: 33/33/33 para el Maskedit sería correcta.
Código Delphi
[-]procedure TfrDlgFechas.mkFiniExit(Sender: TObject);
begin
try
fini:=StrToDate(mkFini.text);
except
Application.MessageBox('Formato de fecha incorrecto','Atención',mb_Ok +mb_IconQuestion);
mkFini.SetFocus;
end;
end;
Un Saludo.