I assume you read the link, and the link in the link. This wouldn't be the 1st time that scripts using wrong syntax that works ended up having a broken script when that was fixed.

I had a script I'd made in the version 6.x era where I had unknowingly had a line in a popups label having an extra closing parenthesis. Everything was fine through several versions, until one day I was flooded with irritated users who had a flood of error messages in their status window, because they'd upgraded to a newer version that was no longer forgiving of the extra parenthesis. Luckily in that case it was simple to fix.

If this were to change to support the old broken syntax, then either people who've been using the new+correct syntax will now be broken, or else mIRC would be forced to support all of:

$iif(%test2 == $null,set -s % $+ test2 test2)
$iif(%test2 == $null,set -s %test2 test2)
$iif(%test2 == $null,set % $+ test2 test2)
$iif(%test2 == $null,set %test2 test2)

And also doing the same for /inc /dec /sockread /sockread

And just an observation about the

%test = test

..syntax in your example. I know it's valid, but I prefer not to use it, because it's more ambiguous as to whether the intent is to be setting a %global or %local variable. I most commonly see this form used by new scriptors who don't realize that doing this is creating global variables that they don't realize are being set, where they can either cause problems for another script that erroneously didn't initialize their variables, or else this stuff ends up bloating up the vars.ini with stuff that goes global but never gets cleaned up.