If the same user function is used more than once in the same text box then, even though it has different parameters and different results each time, every instance will print the same result.
eg. if the text box contains:
%Dollar% %Dollar% %Dollar%
and "Dollar" is a user function that simply formats the value as dollars and cents, the output will be:
$5.55 $5.55 $5.55
This also occurs if the function calls are in different alternate restrictions, but not if they are in different tasks.
Workaround: If you duplicate the function and use a different copy each time, eg:
%Dollar1% %Dollar2% %Dollar3%
then you get the expected output.