On networks like Undernet where you can use host masking your ip address is still given away right when you connect. How about a plugin or something where when you're disconnected your nick is switched to a string of random numbers and letters until you are reconnected and hostmasked. Then your nick is changed back and you join channels.