Ich denke, das liegt am automatischen Blocken bei O-Dateien.
Es sieht so aus, dass 55 Sätze in einem Block liegen.
D.h., dass beim 56. Write der Block vorher ausgegeben werden muss.
Hier schlägt dann wohl die Runtime-Prüfung zu.
Wenn weniger als 56 Sätze geschrieben werden, wird vom System beim Close der Block geschrieben. Hier scheint aber keine Prüfung mehr auf den Formatnamen stattzufinden. Dies könnte da eher auf einen "verlässlichen" Systemfehler hindeuten.

Mach mal einen DSPFD auf die Ausgabedatei, prüfe den Formatnamen und passe das Programm an den korrekten Formatnamen an.