I've picked up this problem moving from QV9 to QV10. The handling of single quotes seems to be borken? I hope I can make this clear....
Given the following variables:
SET vVAL1 = Bob;
LET vPARM1 = 'PARM1 = ' & chr(39) & vVAL1 & chr(39);
Why does TRACE $(vPARM1); produce this output: PARM1 = 'Bob' (as one would expect)
while TRACE '$(vPARM1)'; produces 'PARM1 = ''Bob''' (notice the doubling of the single-quotes around Bob)