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.