Yes, as you say the workaround is to not use GIVING and simply pass the parameter in the USING list instead. You could also compile with a different directive such as DIALECT"ISO2002" but I expect that would cause even more problems.
The reason I need to report this is that it is an incompatibility between product versions as the code that is shown above does compile and run cleanly as is in NX/SX even though according to the product docs it probably shouldn't have.
Thanks.