Actually $() is shorthand for $eval(). In the mIRC documentation (it's listed as $(...)) it says it will only work within event definitions, but it also currently works everywhere else aswell. However because that behaviour is undocumented it shouldn't be relied upon and so you should always use $eval() in code outside of event definitions. Like $eval(), when you don't provide a second parameter to $() it defaults to 1 which, as your test shows, is the same as if the $()/$eval() isn't there at all.

You're probably wondering why I left the $() in that code I gave to harl91 if it's not doing anything and I used $eval() anyway. Well that would be because of the other reason $() shouldn't be used in code: It's really easy to misread it as $+(), which is what I did. If you hadn't replied I wouldn't have ever noticed that it wasn't $+().

Although the code will work (since $() isn't actually doing anything), it should really be:
if ($eval(% $+ $3, 2) == $nick)

Spelling mistakes, grammatical errors, and stupid comments are intentional.