The number of file handles for an OS/2 session is limited to n (where n depends on the OS/2 version you're using, normally n is 20; or 40 in WARP 4). So you can only open about n-5 files at one time, because 5 handles are already used by the standard input and output channels (STDIN, STDOUT, STDERR, ...).
To check or increase this value you may use a tool like MaxFH, SysAddFileHandle (in the REXXUTIL.DLL from Object-Oriented REXX), or similar functions in packages like RXU.
Beginning with WARP 4 Fixpack #6 you can add the statement
SET SHELLHANDLESINC=n
to your CONFIG.SYS to increase the default numbers of free file handles by n for every shell process (see CONFIG.SYS statements used by OS/2)
Note: There seems to be no file handle limit for Object-Oriented REXX.
Note: see also It runs, runs not, runs, runs not, ...