I don't have this problem. Do you have it set to automatically rejoin when you are kicked? If so, you might want to uncheck that option and make a script that will do it for you, then you can make it join using the -n option (this will prevent the joins from stealing focus).

Sample script you might consider (if this is what you need to do):
on !*:kick:#:if ($knick != $me) { return } | var %x = $+(%,$cid,.rejoin) | set $(%x) $addtok($(%x),$chan,44) | if (!$timer(%x)) { $+(.timer,%x) 1 1 karjc }
alias -l karjc { var %x = $+(%,$cid,.rejoin), %r = $(%x,2) | unset $(%x) | join -n %r }

That'll rejoin rooms that you were kicked from but on a small timer (so that if you were kicked from more than 1 room, it'll attempt to rejoin them at the same time, since someone could use a rejoiner to try to flood you off) smile