You're changing the goal posts, pal. If you think cheap offshore developers are better value for money because they spend ten hours a day doing something that I can do in half an hour, well, you've got another thing coming. Anyone can build a website and be a coder, millions of Indian code monkeys are proof of this. Not anyone can be a developer- that is to say, understand complex business processes, quickly produce appropriate solutions that fit existing legacy frameworks and do things like automated testing. Or try having an Indian work on a CRM app, the cultural gap will overwhelm them (I'm seeing this first hand every day).
Fortunately - this isn't the case. In terms of hourly productivity, I'd put them at 75-90% of Western developers. In terms of commitment to a project, I'd put them at 200%.
I would guess you have only worked for very small organizations. Programmers simply do not do all the things you mention above in anything but the smallest of organisations. We have separate people writing business level specs, doing design, coding and unit test, system testing, packaging & releasing. Implementation and supports staff are also different. You can't maintain millions of lines of code and have programmers making the tea, cleaning the windows, fixing the pool cars and all the other stuff you mentioned. Programming is only 20-30% of the total system development effort.
What you discuss, where a developer is 'jack of all trades' falls apart as an organization grows and it also breaks down when you have fairly average staff turnover.
In my experience, which includes running offshore development centers in Asia for the past 15 years, the glue that holds all this together is good management & process.
Have a look around the internet- Indians have a terrible reputation. Poor abstract thinking, need their hands held, take many breaks throughout the day, need someone constantly on top of their head to make sure they're not slacking off, not to mention: they write SHIT code. Code that works is not huge task indeed (let's assume for the sake of the argument that half of foreign coders can do it), but can everyone write re-usable, maintanenable, extensible, well-documented, unit-tested code? You'll find the degree of difficulty increasing by an order of magnitude with each of the previous requirements. And they are mandatory for every developer, not just super-stars. Try explaining approaches like TDD or BDD to a foreigner, they look at you like you're from Mars.
Well - I could look this up on teh interweb or I could just use my own experience. I live in Asia, spent a year in Japan as a consultant, helping the staff at a Japanese MNC to implement processes that enabled them to implement 4000 functional changes to a major commercial system and start rolling it out in their factories. The bulk of the developers we used were from Manila but we also had a team in India and of course we had a lot of Japanese developers too. After that - back in '97, I moved to Thailand and built a team there that maintains and enhances a number of modules of a major commercial system. I'm not talking about customization - I am talking about product development of entire modules of a massive product. That includes taking instruction from product marketing and then being responsible till it goes into standard product. Soup to nuts.
On top of that - a good portion of the R&D is now done there as well as the maintenance of the programming language the product is written in. This is complex stuff but then anything is complex until you break it down into manageable chunks and that is the art of system development and that is why on a large team you only need a few 'hero programmers'. You need grunts mostly.
Again, I'm not parrotting the internet on this, I'm seeing it first hand every day and soon I may have to be involved in some unpleasant decisions.
Do you know what Brian Fargo said? Something to the effect that no person in the chair is better than the wrong person. Because if there's no-one there, at least you know the job isn't getting done. The implication being that with the wrong person, you don't know what will happen.
One thing I will agree with you on is the communication skills needed to ensure a US/European team can work with an Asian one. This is why the team I built was so successful, I was there day in day out managing the communications and ensuring there wasn't any misunderstanding. That particular organization can handle itself in that respect because we got locals in key roles that caught on pretty fast.
Fact is - if a US company sends work to India and thinks it's going to come back perfect, they will get caught out. They will be 100% responsible for 50% of the communication issues.