I'm curious to know which FixPak upgraded Rexx.'
FixPaks (or new OSes), not FixPak (or new OS).
For example, IIRC an OS/2 Warp 3 FixPak broke PMREXX (functional change: a.o. ADDRESS() no longer returns PMREXX, so you cannot make sure that RxMessageBox() will work anymore).
All newer Y2K FixPaks changed Rexx (functionally), and those FixPaks will be as GA as possible (i.e. not just for the few eCS and ArcaOS languages).
Object Rexx changed ("Classic") Rexx (functional changes like ANSI's DATE() with more than one argument, syntax checking).
So please use Object Rexx to check the syntax of distributed apps (including but not limited to a.o. VX-REXX), try to avoid using e.g. DATE() with more than one argument for code not used just by you, and it'll be safe to assume that someones Rexx is Y2K-proof and that PMREXX is broken. If not, then you're probably dealing with some exotic system ("Microsoft OS/2 1.0") and perhaps should use the same Rexx interpreter as that customer, to rule out using newer code (i.e. the Class Rexx of Object Rexx, or Y2K functionalities). Y2K is documented by IBM, and Object Rexx is a matter of (not) having executed SWITCHRX.
Edit: and REXXUTIL.DLL was upgraded once or twice with new functions, like SysBootDrive().