I think this may work, but only when Raw 307 is processed.

Code:
On *:Join:#: {
  .enable #reg.nick
  set %reg.nick.f.reg $nick
  set %reg.nick.chan $chan
  whois $nick
  .timer 1 1 chk.reg
}

alias chk.reg {
  if ($var($+(%,reg.nick.,%reg.nick.f.reg),0)) {
    msg %reg.nick.chan Hey $+(%reg.nick.f.reg,!) You're registered!
  }
  else {
    msg %reg.nick.chan You have not registered.
  }
  unset %reg.nick.*
}
#reg.nick off
Raw 311:*:halt
Raw 307:*: {
  set $+(%,reg.nick.,$2)
  halt
}
Raw 319:*:halt
Raw 312:*:halt
Raw 309:*:halt
Raw 325:*:halt
Raw 317:*:halt
Raw 318:*: {
  .disable #reg.nick
  halt
}
#reg.nick end


-Andy