Sometimes language change amazes even us linguists. I just learned that "Canadian" is the new American cryptoracist term for "black person"! Apparently it is the very incongruity of this choice that motivates it.
Americans think of Canada as the Great White North, not only meteorologically but ethnically, and they're right: there are significant non-white minorities, but they are mostly East and Southeast Asian (6.0%), aboriginal (4.6%), and South Asian (3.1%). Black people constitute only 2.3% of the population as compared with 12.4% in the United States. Since the stereotypical Canadian is white (with a red serge uniform) you'd never expect "Canadian" to mean "black". That makes it a good choice as a covert racist term.
Update: Ben Zimmer points to some discussion of this development on the American Dialect Society mailing list, and a reader in the food industry has written to say that a new term is beginning to turn up: shuda, as in "it shuda been fried chicken".
Posted by Bill Poser at January 14, 2008 08:11 PM