Hier hilft nur ein Prepared-Statement mit Parametermarkern "delete from mylib.mytable where key=?", das du ganz einfach dann immer wieder ausführst.
Ein ständiges Zusammenbauen mit Strings ist auch eher unperformant.

Das würde ich dir übrigens auch für die Insert's empfehlen.

PS:
Beachte noch die Commit-Einstellung in der AS/400-Verbindung, der Default ist nämlich *CHG. Beim Select macht das ja noch nichts, beim Delete bekommst du aber eine Excepten, wenn deine PF nicht journalisiert ist.
Wenn du mit einem Journal arbeitest, kannst du dich für AutoCommit (extrem langsam) oder Transaktionen entscheiden.

Delete würde ich auch nicht empfehlen, sondern eher ein Verarbeitungs-KZ.
Der SQL-Server ist nämlich nicht so sicher.
Was machst du nämlich, wenn die Daten weg sind ?
Bei Delete ist eine Wiederholung nicht möglich, es sei denn, die Daten können aus anderen Quellen wiederhergestellt werden.