Cuando estas fuera de diseño también te muestra el error?...Pues lo probé en mi Delphi 6 y a mi me funciona bien, pruebalo fuera del IDE de delphi y si sigue el problema haz lo siguiente y dinos si te muestra algún error en pantalla, pues puede que sea otra cosa mas no la que explicas:
Código Delphi
[-]
procedure TFrmTransacs.EdtCostoUnExit(Sender: TObject);
begin
Try
Costo_Unit_Trans := StrtoFloat(EdtCostoUn.Text);
except
on EConvertError do
begin
ShowMessage(EdtCostoUn.Text + ' No es un valor numerico. Favor de corregir');
EdtCostoUn.SetFocus;
end
else
begin
raise;
end;
end;
end;