When "gay" is used as "bad", what people is actually saying is "bad because it is homosexual".
Whilst I agree that's a reasonable assumption to make, it's not guaranteed.
You admit words can "lose their historical origin." That doesn't happen overnight. It's a gradual change. In order for that change to take place, one must assume that indeed, people are
not using it in the way it was originally intended. Before that can happen to general usage, it has to happen in not-so-general usage. We didn't all wake up one day and decide "idiot" no longer referred to the mentally handicapped. That happened gradually, and there was a period of it having dual meaning.
You admit that a word's definition can change, and that it has happened to "idiot" and "dumb." I believe it has fully happened to "retarded" as well. I also think it's in the process of happening to "gay," though whether it'll keep it's pejorative definition or it's homosexual one is unknown.
Er, "gyp" is one of the few acceptable ethnic slurs left in the US. In case you haven't noticed, "gypsies" are still considered a very acceptable target for ethnic stereotyping/racism in the United States (not to mention their situation in Europe!). Christ, how many movies and books can we all remember with thieving, cursing, and hexing gypsies in them? There's an important reason why you can say you were "gypped" but can't say you were "jewed", and that's exactly it: Slurs become unacceptable when the target stops being an acceptable target. Homosexuals are still an acceptable target.
Heh, don't disagree with you on the negative stereotyping of gypsies. However, I really, honestly never made the connection there (again) until it was pointed out to me (in fact I spelled "gypped" with a j until recently). Was I perpetuating negative stereotypes prior to that? Only to those who made the connection of "gypsy = thief." Everyone else was either like me and didn't make a connection, or were shaking their head at my apparent ignorance.
I really hate euphemisms and dysphemisms. Such a nuisance.