While I don't work with outsourced employees, I do work in a completely remote team, and we use only email, IRC and video conferencing. In fact I had a meeting at 11pm just last night (not too bad for me, but for my colleagues in Israel and Australia who were also on the call it was some unearthly hour of the morning).
I think many of your points could be summarized as "we hired a bunch of idiots and they couldn't do their job very well". Timezones made some difference in that you weren't able to closely supervise them, but the fundamental problem was that your management shouldn't have outsourced the work to people not capable of doing the job.
Working with a remote team on a SaaS application != outsourcing enterprise-level work to overseas employees.
With a small remote team you have the luxury of carefully choosing remote candidates and interviewing them individually. Enterprise-level work (read, bringing on teams of 10-50 developers in a short time frame) does not afford you that opportunity.
I'm not sure how large your company is, but it's pretty apparent you haven't worked with outsourced employees on an enterprise-level (7-8 figure) project before.
I think many of your points could be summarized as "we hired a bunch of idiots and they couldn't do their job very well". Timezones made some difference in that you weren't able to closely supervise them, but the fundamental problem was that your management shouldn't have outsourced the work to people not capable of doing the job.