El error es por el separador de decimales, debe ser un punto en lugar de una coma.
Te recomiendo que uses parametros, que te salvan de todos esos problemas de configuracion regional
Código Delphi
[-]
qInserta.SQL.Add('Insert Into Pagos (Monto_Pago)');
qInserta.SQL.Add('Values (:Monto_Pago)');
qInserta.ParamByName('Monto_Pago').Value:=Monto_Pago;
qInserta.ExecSQL;
Esa me parece que es la mejor solucion. Si no te convence y preferis seguir usando tu funcion lo que podes hacer es usar la funcion
StringReplace para convertir la coma a un punto despues de hacer la conversion a string.
Saludos