This has spurred lots of discussion about the pros and cons of outsourcing. Not being one to keep my mouth shut about anything, I contributed my two cents. And since this is a subject of interest to more than just the Mac community, here it is (in expanded form) for you to see and comment on.
What people seem to forget is that India is a big place with lots of variety. Just like everywhere else.
"Outsourcing to India", with respect to quality, is no different from "outsourcing to New York" (or Los Angeles, or Atlanta, or any other US city/region where the typical people speak with thick accents.) In both cases, you can get good support staff that speak English well. And in both cases, you can get lousy support staff that don't speak English and are no better than phone-menu trees.
I recall a very painful exercise with Earthlink tech support a few years ago. The person was American, and spoke great English, but we wasted hours on pointless questions because he was not allowed to deviate from the corporate script. After three hours (and escalation to another support person who also wasn't allowed to deviate from a script), they finally opened a trouble-ticket. I found out the next day that it was a scheduled network outage. Apparently, their support staff doesn't get informed about this sort of thing.
I've also placed support calls to American call centers where the person spoke with a very thick accent (and Southern US is often just as hard to understand as a Chinese or Indian accent), but where the staff was able to quickly identify the problem and give me a solution.
In other words, the quality of support is a function of corporate policy and the skill of the staff and not the country the calls get routed to. Although foreign accents can make problems worse, it is possible for a corporation to hire people (even in India) that don't have these problems.
The real irony is that the costs for a call center are directly related to these factors. A high quality support center will cost a lot anywhere in the world. And you can set up a cheap support center in the US if you don't care about quality. A skilled support engineer can get employers to fight over him, even in India.
Which is probably the real reason why Apple has abandoned their outsourcing project. They probably realized that they won't save very much without destroying their reputation for quality support. And if you're not saving much, there's no point to outsourcing.
And this is the big difference between companies like Apple and companies like Dell. When Dell outsourced their support staff, they chose to give up support quality. Which destroyed one of the key things that made people prefer Dell over other brands. Let's hope Apple remains smarter than this.