Why do we expect him to do a better job learning Chinese than the Chinese developers did of learning English, even though they had a lot more incentive to do so?
From my perspective, good communication is about trying to understand the other person. Knowing just a single thing about the other person's culture puts you in a better position to be able to get what you want from him/her. Whether you agree or not, China is growing in power and importance. In my country, most of the big companies do business with China, and more companies are getting bought up by Chinese investors. I think that just showing you are open-minded towards new things is more important than speaking the language fluently.
When things go wrong, do you want him or the Chinese developers to be blamed?
I'm more interested in solving problems and working together with the team to find solutions, than to find someone to put the blame on when something goes wrong. Maybe this is just a work culture thing, I never worked in the US but I have heard the work culture follows a more strict chain of command. In my team, no one is getting blamed for any mistakes.
Everyone speaks English and there's a reason why he's a mid-career developer and never had to speak a foreign language.
Perhaps you are right, and this is true for someone living in the US, working for a US company. You may not need Chinese investors to keep the company running, or Chinese workers to develop software at competitive prices.