Code:
on @*:JOIN:#yourchannel:{
  if ($fulladdress isban $chan) {
    .timer 1 3 if ( $nick isreg $chan ) msg $chan WARNING $nick is banned but invited anyways! 
  }
}


This checks if the user is banned on join, and if he is, it sets a timer that waits 3 seconds and then checks if the nick is still a regular user and then sends the warning message. Note that if the server is laggy and the modechange is delayed this script can still show the warning message. If that happens often set the delay to 5 or 10 seconds...

ps: to combine multiple tests in a single if statement, you don't need an extra 'if':
if ((check1 == $1) && (check2 isin $2-)) { msg $chan stuff }
Also make sure there is a space after the word 'if' and before the (
You'll notice that I put extra spaces around the brackets for the if inside the timer statement. Those are required to let the $nick and $chan be processed immediately when the timer is set, so that everything is filled in. This is because $nick doesn't contain anything anymore 3 seconds later, $chan might contain something, but not necessarily the correct channel...