We have India offices staffed with employee developers, not contractors. And that really is the best thing about our organization - we're all in it together, so there isn't an us-versus-them mentality. It's convenient to hold contractors at arm's length, and blame them when things go awry, and it's easy to say "let's end this contract." But it's very hard when you're all reporting to the same boss. That's had a lot to do with our success.
And you're absolutely right about the time difference being an issue. But you can make it work to a degree.
They've shifted their working times to start later in the morning and end later in the evening, and we have shifted our mornings to accommodate earlier meetings. We can get two hours of overlap every day with few problems, and depending on the situation we can get an additional couple of hours. It's enough to have hand-off kinds of meetings, and to discuss a project or specific problem, but not enough to work with them in a coaching, mentoring, or close partnership kind of role. That takes expensive travel, so it doesn't happen as much as either side would like. But when it does, it's great. I have some very good friends who just happen to live on the other end of a long plane ride, and I appreciate that globalization introduced us.