This CIO.com story has an interesting take on the spread of distance enabling technology - the take being that the technology is making it less reasonable to send small/medium jobs offshore. I'd argue that "large" jobs are probably a mistake, unless you properly split them into a set of small/medium ones - which in turn makes easy communication more relevant than sheer lower cost.
Of course, the trump to all this will be if firms in India (China, etc) start moving up the food chain. IMHO, it makes little sense to offshore a bunch of developers, when project management (and up) is still in North America - the timezone difference makes proper communication nearly impossible. Look back at the experiences of the big US automakers though - it was when nimbler foreign competition started taking on the whole job and shipping competing cars that they ran into trouble.
I had someone in comments the other day ask me who was going to challenge Microsoft. I rather expect that the CEO of GM, circa 1960, had the same smug thought...