Your control flow just doesn't make sense. And since I don't know when or where this is being called (combined with your mixing $nick and %nick), it's not easy to guess the best way to fix it or exactly how you want it to behave.

If you're calling this from a join event, I don't know why you're checking if they're on the channel - unless you're delaying the message with a timer.

It would be best to know the context you're using this in, but I believe the following may be what you want:

Code:
if (%nick ison #channelname) {
  if (%nick !isnotify) {
    notice %nick ...
  }
  else {
    echo This toon has already recieved this message.
  }
}