Prueba con esto a ver que te parece:
Código:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (pos('.',(sender as TEdit).Text)=0) then
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end
else if not (key in ['0'..'9',#8]) then key:=#0;
end;
Un Saludo.