er Jethro, $mode().ban generally returns a ban mask (not a nick) and cannot be equal to $me. also, why restrict the check to only $mode(1).ban while it's easily possible for $mode(2).ban, $mode(3).ban etc. to affect you? and solely checking for nick bans while letting other types of bans slip through? i don't understand the suggestion at all i'm afraid :P
ignoring the rest of the code, the method killerpit4e uses to detect self-affecting bans is simple, functional and absolutely fine. the only advantage to using rawmode and looping through $mode() is the ability to handle multiple self-affecting bans in one fell swoop.