This is in fact related to /set needing not to evaluate the %variable name, I've actually described this on wikichip as well as other variables related quirks: https://en.wikichip.org/wiki/mirc/variables
It's not related to evaluation in general, just related to variable commands etc.
In addition to the qurik listed in the link, /var has a similar quirk where it won't work if the parameter is not starting with a variable, "//var % $+ name value" correctly sets %name, but "//var $+(%,name) value" won't, interestingly enough, if such an assignement fails, other assignements will work: "//var $+(%,name) value,%var value" would set %var correctly.


#mircscripting @ irc.swiftirc.net == the best mIRC help channel