Has probado las funciones TryStrToFloat... TryStrToInt... TryStrToDate... ? Las puedes usar en el OnExit del TEdit para comprobar la validez del valor introducido:
Código Delphi
[-]
if not TryStrToFloat(Text, fFloatVar) then
TEdit.SetFocus;
end;
Este ejemplo impediría salir del TEdit si el valor no es correcto, aunque lo puedes utilizar de muchas formas.
Saludos