whenever this discussion comes up, I always repeat that if HM the King of Thailand used the word "farang" to refer to foreigners in his birthday speech a couple of years ago, then it must be an acceptable word, because I cannot imagine him using inappropriate words in a formal speech, or in any context.