Foreign names should be spelled in English so they sound as close to the original language as possible in my opinion.
But even that doesn't work! See my previous post, where English speakers (at least in the US) pronounce the 'j' on Beijing as a French 'zh' sound for no good reason. It's just... silly. And wrong, dammit!
I mean, it's totally OK if you read Tokimune as Tokeemoon. That's how it would be pronounced in English, anyway. But Beizhing? Really?! Just read it like an English word!
Over time, these hyperforeign pronunciations become standardized; I may know that French forte is pronounced /fɔʁt/, but English forte is now pronounced /fɔɹtɛɪ/. I dare say the same of Beijing: the hyperforeignism has become naturalized, and however wrong it may be compared to Mandarin Beijing is pronounced with /ʒ/ in English.
(Of course, if you want to get really technical, Mandarin <j ch> aren't /ʤ ʧ/ but /ʧ ʧʰ/...)
No one is expecting him to say /tɕʰǐn/--/ʧʰɪn/ is correct for English.