Wie werden denn die numerischen Felder übertragen ?
Als Text im Insert ?
Als Parametermarker ?

Beim Text kommt es auf die aktuelle Kommaeinstellung im ODBC an (Defualt Dezimalkomma). Die Aufbereitung im Programm liefert aber ggf. einen Dezimalpunkt.
Entweder die Aufbereitung anpassen oder im ODBC auf Dezimalpunkt umstellen.

Bei der Verwendung von Parametermarkern "insert into myfile (f1, f2, ...) values(?, ?, ...)" stellt sich das Problem nicht und ausserdem ist es erheblich schneller.