Yep, like Wims said (and I think it was mentioned in that post you're referring to), just use $+ when setting and use either $eval or []'s when reading the variable, whichever is your preference.

Think about setting it like this...

You know that $eval and []'s evaluate the variable, so that if %test.Riamus = 1 (Riamus being supplied by $nick), then you evaluate it and get 1. That's what you want when you're reading the variable. However, if you set it that way, you are basically doing this...

//set $($+(%,test.,$nick)) Some Value

and that becomes

//set 1 Some Value

See, you don't want to have the variable's data become the variable name.