Nun ja, im Passivmodus wird der Get nicht vom Client ausgeführt sondern als Put vom Server.
Der Aktivmodus (SENDPASV 0) wird aber ggf. vom Server abgelehnt.

Nun meldet der Server ggf. den Get als erledigt aber er kann einen neuen Befehl noch nicht verarbeiten.
Da die AS/400 aber wohl schneller geworden ist, kann die den Get bereits absetzen bevor der Server auch tatsächlich im Empfangsmodus für neue Befehle ist.
Je nach Serverauslastung kann der mal schneller oder auch langsamer sein.
Ist der schnell genug, klappts, wenn nicht, klappts nicht.
Durch deinen DLY gibst du dem Server nun ausreichend Zeit.

Warum kannst du keinen "mget *.xml" absetzen?
Dies würde dann vom Server automatisch in einen "mput" übersetzt werden.
Allerdings gilt auch hier, dass bei mehreren mget's der Server vielleicht zu langsam ist.

Ursache könnte sein, dass die AS/400 nun auch mit Threading im FTP arbeitet.