> カレントの文字コードはロケール環境変数に設定されてるんではないですか? これは OS X の GUI 部分は UNIX とかなり違うので、そうではないです。
Mac OS X のログインセッションとしてのカレントの 文字コードは CFStringGetSystemEncoding() で得られるものです。 ただし、OS X の言語設定はこれだけでなく、もうひとつ GetApplicationTextEncoding() というのもあります。 (こちらは #include <Carbon/Carbon.h> 。)
二つの違いは、 日本語でOS Xにログインしているけど、 ソフト側が OS X の意味で日本語に対応していないため (すなわち、.app/Contents/Resources/ に Japanese.lproj がない等) OS X がそのソフトだけ英語環境で立ちあげたばあい、 CFStringGetSystemEncoding() → 日本語 GetApplicationTextEncoding() → 英語 が帰ってきます。