Wenn du dich mit der AS/400 verbindest, muss nach dem MyCnn.Open() ein QZDASOINIT-Job verbunden sein. Ermittelt wird dieser mit "WRKOBJLCK USRPRF *USRPRF", wobei USRPRF dein Anmelde-User sein muss.
Findest du keinen Job, hast du die Verbindung nicht geöffnet.

Der ExecuteNonQuery() wird direkt ausgeführt, der Datensatz müsste direkt in deiner Zieltabelle auftauchen, da wird dann nichts gecached bzw. Bulk-Inserts aufgebaut.

Vor dem Insert musst du hier noch den IsolationLevel festlegen.
Arbeitest du mit Transaktionen bzw. Journalisierung?

"Übertragungsfehler" deutet im Übrigen darauf hin, dass du keine Verbindung zur AS/400 hast oder das Command-Objekt keinen Verweis auf das Connection-Objekt.
Prüfe mal ob du auch tatsächlich einen Open() auf der Connection machst.

Ich verstehe auch nicht, warum du den Fehler auch erst nach 32K Versuchen feststellst.