In that case, something else you might be unaware of is that mIRC automatically prefixes /commands inside an alias with a . if the alias itself was called with a .
That means if you had the following alias:
And you called it as /.echo2, it would be equivalent to having this:
alias echo2 { .echo $1- }
You can test this by trying /echo2 -q <whatever> and then using a . too: /.echo2 -q <whatever>
In short, just using 'unload' instead of '$iif(!$show,.) $+ unload' will be fine.
I can't remember who told me this but it's a pretty handy feature