It's true that we did a lot of atrocities to the indians, but I doubt one person in America today waves the American flag with the intent behind the display being "I hate injuns and I hope they all rot in their reservations!" The government has never made amends, but all Americans feel guilt for their past.
Think about Germany--it's actually considered taboo and shameful to wave the flag anywhere in public except at a football game or speak patriotically of the country because of their past. Their banner represents their nation, but also represents their shame despite the fact that there are just a handful of people from Hitler's generation left alive.
It should be that way with the Confederate Flag--very few people fly the flag to say "I support my family's Confederate heritage" or anything like that. It's usually flown in defiance of modern convention or to say "I'll be a southerner until the day I die", and their definiton of true southerner is the same today as it was in 1950 or 1870. There's no shame in living in the south, gosh, a huge percentage of Americans do; what makes the difference is the blatant pride some people have in the dark past of the south. I just wish that the confederate flag was flown in a more respectful, subdued way than to have it everywhere screaming "The South Will Rise Again!"