The directory /QIBM/UserData is as screwed up as QUSRSYS during upgrades. The division between /QIBM/ProdData and /QIBM/UserData is very blurry now and needs to be handled much the same way as QUSRSYS does in "re-synchronizing" target machines during version and release upgrades. ie. Exit programs for other LPPs need to be re-run, which for most people means reinstalling dependant LPPs after restoring down-level /QIBM/UserData directories.
When using CPYBYTES, memcpy or a similar method, to copy data to a variable length field using %addr(field-name : *data), you must set the %len of the variable length field first, then copy the data. Otherwise, it wipes out the copied data.
After using the expression "just one more compile" you will have found that more than 3 hours have passed.
DB2 USER special register is 8 characters.... unless you are on IBM i OS... then it's 18 characters... WTF?