You can test isnotify outside your script so you don't need a JOIN event to trigger it. Type the following in your editbox (replace NICKNAME with the nick):
//echo -a $iif(NICKNAME isnotify,$true,$false)
Use the nickname that is joining to test it. If you're getting $false, it's because mIRC isn't recognizing the nick in the notify list (it could be a network specific listing and you're on the wrong network, for instance).
My hunch is you're going to get $false. Your script logic is actually well written, so it's likely an environment issue (settings) that is causing the logic to fail.