Das liegt gar nicht daran, sondern an einer Compile-Option !

SYSIFCOPT
System interface options (SYSIFCOPT) - Help

Specifies which system interface options will be used for the module
object being created. You can specify them in any order, separated by
one or more blanks. When an option is specified more than once, or when
two options conflict, the last one specified is used.

*NOIFSIO
The module object will use the iSeries Data Management file system
for C stream I/O operations.

*IFSIO
The module object will use the Integrated File System for C stream
I/O operations.

*IFS64IO
The module object will use the Integrated File System for 64-bit C
stream I/O operations.

*NOASYNCSIGNAL
Does not enable runtime mapping of synchronous signalling functions
to asynchronous signalling functions.

*ASYNCSIGNAL
Enable runtime mapping of synchronous signalling functions to
asynchronous signalling functions. Specifying this option causes C
runtime to map the synchronous signal() and raise() functions to the
asynchronous sigaction() and kill() functions respectively.

Du must *IFSIO auswählen da der fopen sonst auf das Format "Lib/File" und nicht auf das IFS-Format geht.