Para evitar problemas con separador de decimales y de miles, en mi aplicación defino los valores a utilizar al inicio. COn esto, independizo el programa de la configuración del usuario.
Yo uso esto en el FormCreate()..
Código Delphi
[-]
ThousandSeparator := ',';
DecimalSeparator := '.';
En algún momento trate de hacer que mi programa cambie la configuración de windows y la adapte a lo que necesitaba, pero no es muy conveniente cambiarle la configuración al usuario (por algo la usa de esa forma... no?)
Saludos!