Kleine Korrektur...

as400db.Execute "CREATE PROCEDURE QTEMP.QCMDEXBW (IN :PARM1 CHAR (512), IN :PARM2 DEC(15, 5), OUT :PARM3 CHAR(1)) LANGUAGE RPG NOT DETERMINISTIC NO SQL EXTERNAL NAME QSYS.QCMDEXC PARAMETER STYLE GENERAL", , adExecuteNoRecords

With as400cmd
Set .ActiveConnection = as400db
.CommandText = "CALL QTEMP.QCMDEXBW(?,?,?)"
.CommandType = adCmdText
.Prepared = True
End With
cmd = "CALL PGM(SAGPLIB/PSEULABRPG)"

as400cmd.Execute , Array(cmd, Len(cmd), result)

So wird zwar alles richtig aufgerufen, aber wieder bekommt doch das Programm
Pseulabrpg keinen Zeiger für den Rückgabeparameter und stürtzt ab.
Ein Königreich für alle, die mir da jetzt den letzten Denkanstoß, nein besser
gleich die Lösung geben können.

Erneut mit freundlichstem Gruße, BeWe