We had a more subtle approach at a forum for IT pros I used to moderate. We called it the Crazy Cafe. Known trolls wouldn't be banned -- they'd just create a new login and start trolling again, leading to a metagame amongst our community of guessing which of the old trolls the new troll really was. Instead, we'd simply flag the troll as a member of the Crazy Cafe, and their posts would be invisible except to other members of the Crazy Cafe (and to mods, if we so chose). The trolls didn't know they'd been made invisible; all they saw was that no one (save other trolls) responded to their flame bait, and thus they lost interest. It worked shockingly well.