If you use "r $1receive" order it works. The dynamic bit seems to need to be at the beginning of the symbol. So you can get r {0-9}receive, instead.
or is there a way to eval $1 expressions in strings: obj 10 10 r receive$1 has the result :r receive$1 but i need :r receive{0-9}*
Peter