My current thinking is that it's because our immigrants aren't of any one predominant ethnicity or religion or ideology otherwise. Let's consider countries that have become anti-immigrant:
1) France: The French are against Arab and North-African immigrants. This one coherent ethnic/religious group has become large enough that it is now seen as having the critical mass necessary to undermine French culture and values. The French are afraid of losing their identity to Arabic and islamic encroachment. You rarely, if ever, see them complaining about Chinese, Indian, or European immigrants.
2) America: You rarely heat complaints about Chinese and Indian immigrants. Most complaints are directed at the biggest immigrant group: Latinos. There are enough Latinos in the US and they're coming in fast enough that they're seen as a threat to American culture. The same was true during the wave ofIrish immigration in the 1840's, Germans in the 1870's and Italians 1890's. There was a strong backlash against each as those groups were big enough that they posed a threat to American identity.
3) CANADA: What makes us exceptional is that we have no dominant group of immigrants. We accept many Chinese, Indian, and Arab immigrants but none of them is a dominant group. There's hence no influx of any other one dominating culture which threatens to overbear Canadian identity. Also the fact that Canadian culture is relatively nascent and ill defined makes us less fearful or paranoid about losing it.