The confederate flag, for many has nothing to do with racism, but rather a pride of who they are and where they come from. The glorious old south. It is flown in rememberance and pride of ancestors lost in the civil war.
Many that fought for the south, didn't have slaves, and didn't care about slavery as it didn't affect them, they were poor. They fought for the states right to make it's own decisions, not to keep the slaves.
I'm proud of my southern heritage, I'm proud of the people I come from, and what they went through for their beliefs. My father was out in the fields picking cotton at 3 yrs old. He obviously wasn't very good at, but he still contributed as did everyone else.
It frustrates me that the confederate flag is used as a racist symbol, and seen as such by the ignorant. It has nothing to do with that.
Granted it's true, there were slaves in the south, but only the few elite actually owned them. It's also true that they didn't want to give them up. But most importantly it's true that the south didn't want the federal goverment telling them how to run their states and what they could and couldn't do. It wounded their pride, and they felt they had to take a stand.
I doubt I've changed your mind or your views, but I hope that perhaps, you can at least see, that some view it differently.
Edit: I'd also like to point out that their is more to the history of the cival war than what is simply taught in our schools, and that what is taught varies from region to region. I was raised in Michigan by southern parents. At school I was taught the ignorant south refused to give in, and that the war was about slavery, at home, and through books my father provided I gained a more rounded knowledge of the south's view point regarding the war.