Kommt nun wieder mal darauf an, wie du die SQL's zusammenbaust.
Wenn du mit Parametermarkern arbeitest dürftest du eigentlich keine Probleme haben.
Also:
update myfile set f1=?, f2=?, ...
where k1=? and k2=? ...
insert into myfile (f1, f2, ...) values (?, ?, ...)

Strickst du die SQL's selber immer zusammen, kann es zu diesen Problemen kommen.
Ich denke, PHP arbeitet ebenso in Unicode, so dass die Strings als Unicode abgegeben werden. Die SQL's müssen jedoch in SBCS umgesetzt werden. Wenn du nun hier (wie so oft) auf der AS/400 bzw. Datei keine CCSID (Systemwert QCCSID=65535) hast kann es hier zu Umsetzungsproblemen kommen.