Schau Dir mal folgenden Link an:

http://www.strichcodeservice.at/zeichensatz_code128.htm

Die Berechnung des Prüfzeichens erfolgt mit dem ASCII-Wert und nicht mit dem EBCDIC-Wert. Du musst also erst eine Übersetzung in ASCII durchführen, die PZ berechnen und das Ergebnis wieder in EBCDIC. Dies gilt auch für das FNC.

Für die Codewandlung kannst du QDCXLATE verwenden, du musst nur noch die richtige Tabelle wählen (WRKTBL *ALL, und dann nach Q273337xxx suchen, wobei xxx für den ASCII-Code steht).

PS:
Vielleicht berechnet ja die AS/400 die Prüfziffer automatisch, dann versuche es mal mit der Angabe X'00'/X'01' statt X'02'.