Hola.
Coincido con
Chris. Cuando el usuario presiona un punto espera ver un punto y no una coma, no sea cosa que llame al técnico o cambie el teclado

.
Una alternativa a cambiar el valor de
DecimalSeparator es, realizar el cambio en la asignación:
Código Delphi
[-]
var
Valor: Double;
begin
if DecimalSeparator = ',' then
Valor:= StrToFloat(StringReplace(Edit1.Text, '.', ',',[]))
else
Valor:= StrToFloat(StringReplace(Edit1.Text, ',', '.',[]))
...
Saludos.