Das ist die allgemein übliche Aufbereitung.
"Falsch" ist das Ergebnis nur dann, wenn der Empfänger die Daten falsch verarbeitet. Denn 111 ist numerisch durchaus das Gleiche wie 0000000111. Und auch das CPYFRMIMPF in die andere Richtung kann das verarbeiten.
Relativ einfache Alternative: Zwischendatei, in der die numerischen Felder Alpha-Felder sind. Dort kann man sie mit führenden Nullen versehen, wie man lustig ist.
Aufwändigere Alternative: eigenes Export-Programm (oder php-Skript, etc.) schreiben (und dem Empfänger verrechnen :-) ).