Hola Yensis22,
Por lo que veo del código que muestras, no le encuentro el error.
Sigo pensando que se debe al separador decimal. Y en esto influye tanto la configuración regional que empleas como también la variable global DecimalSeparator (me había equivocado antes) que emplea Delphi internamente para hacer las operaciones con los números flotantes.
Para más información al respecto ve
este hilo.
Saludos,