I have this problem with bans: when you ban a spammer or general jerk, he just creates a new persona and jumps right back in. At least under a consistent screen name you can learn who they are and know whether or not to bother reading their posts, or even block them. Banning just turns into a whack-a-mole game.
Rather than banning anyone, how about appending a warning to their screen names instead? That way, whenever you saw a post from {example redacted} there'd be an asterisk and a footnote below: "*certified jackass" to let you know to skip past it.
This would have avoided the CraigB embarrassment, because even with a scarlet-letter qualifier under his name we'd know he was OK.
BTW, bapu, I knew it wasn't you. Ironically, I would have suspected CraigB before you.