DAS ist eben der Unterschied !
Normalerweise dürfte NUR DIE 1. Anweisung zu sehen sein (das ist so, wenn ich z.B. vom PC per ODBC mit VB/VBA zugreife).
Es sieht also so aus, dass Java den SQL eben immer neu zusammenbaut und daher Prepared AUF DER AS/400 nicht läuft. Scheinbar gilt der Prepared nur intern für Java.

Suche da mal nach Möglichkeiten !
Kannst du ggf. einstellen, dass ein SQLPKG (SQL-Paket) verwendet werden soll ?

PS:
ExecuteBatch ist eine reine Java/DAO/ADO-Funktion und hat mit SQL rein gar nichts zu tun.
Der Speicherüberlauf passiert ja auf dem PC und nicht auf der AS !
Das Sammeln der SQL's wird rein durch die SQL-Runtime durchgeführt.