I should have just rewritten it rather than copy/pasting it and fixing what I saw right off the bat. It's still caused by how you combined them... it shouldn't have == $null.

Code:
on @*:join:#: {
  if ($left($nick,-2) isalpha && $right($nick,2) isnum) {
    ban -ku300 $chan $nick 2 14Spam Bot Detected
  }
}