CロケールやC++グローバルロケールを変更すると、コンソールへの出力ができなくなるというVC8バグ。おかしいなぁと思ったらバグだったのか。うーむ。VC9では修正されているようだ。
std::global(std::locale("")); std::wcout.rdbuf()->pubsetbuf(0,10000);
として、バッファを変えてあげると回避できるようだ。