Just need to put in my two cents as well.
Racism spawns from a group of people making an assumption about an entire group of people based on the actions of a few people. Perfect example that everyone here, regardless of race, can relate to: the word "hacker" being being dragged through the mud.
What happens is, this group of racists assume all of one race (or more) are the same, based on extremely small amounts of knowledge, and then insults spread, and hatred spreads, and we all know where that leads.
As far as stopping racism vs. protecting free speech....if it's just talk, then it's just talk. If it's a call to action, then it's a danger to society. They aren't hurting anyone (cept maybe themselves, and a few people's feelings) and if we just let them stand on their soapbox and ignore them, eventually they'll become another of the thousands of webpages no one's heard of and no one goes to cause no one cares about what they have to say. I'm not saying to ignore violence, or people trying to stir up acts of violence. Ignorant people just want to be heard, whether they're right or not.
On a side note...yes, things like BET, affirmative action, etc are racist. They are there to try and make up for years of racism towards a group of people, but it's racist against another group of people. I guess there you have to ask....when is ok to be racist? If you're black, and you make t-shirts that say "Black Power" on it, is that ok, or is it the same as a white person having a "White Power" t-shirt? (Personally, I think it's both racist, and both ignorant, and both sides hurt everyone they want to help.)
I think race relations will finally be 100% when we stop having to worry about race relations. Once a racist page can come up, and everyone just points and says "That guy's an idiot" and moves on....we'll be a lot better off.