It seems to me this discussion has conflated distinct concepts: how should one refer to other people, and should certain words be considered taboo due to spurious etymologies or sharing syllables with another taboo word.
The first question is straightforward, for the reasons Languagehat gives: you get to choose your own name, and polite persons respect this. There may be limits to this. If I demand that my friends and coworkers call me “Yahweh” or “Emperor Palpatine” I can’t reasonably expect universally positive responses. And if someone from back home slips and uses my old name, I ought not take offense. But as a general approximation, the rule is sound.
The second question is far more problematic. It gives other people the power to declare innocent speech to be offensive, and even to apply this retroactively. The guy that was fired for using “niggardly” had no rational reason to believe this to be offensive. Yes, his bosses were embarrassed into reinstating him, but the fact remains that he was penalized for a word retroactively declared taboo. That “no rational reason” bit is important. While we can all sort of understand how “niggardly” could be misunderstood, the fact remains that the objection is based on bogus facts. So just how bogus can these facts be and still count? The word brought up so far in this discussion has been “denigrate”, but the better example is “picnic”. See http://www.snopes.com/language/offense/picnic.htm. Scroll down to be bit about SUNY/Albany. In particular, everyone agreed that the facts were bogus but they couldn’t use the word anyway. (They tried changing it to “outing” until the gay students objected.)
In practice, with regard to the specific case of “niggardly” I might in some contexts avoid the word to avoid distractions. This is in exactly the same way I avoid using “which” in a restrictive relative clause when discussing grammar: doing so would give ignorant people an excuse to complain. But in reality, not so much even that. “Niggardly” is a somewhat rare and bookish word. If addressing a somewhat rare and bookish audience, I would not expect a problem. If addressing a non-bookish audience, “cheap” is of a more appropriate register.