手元のパソコン (Win8.1 x64、MS-IME 2012) でも同様の現象が起きました。
(スクリーンショットは文末に記載)
しかしこれは、恐らく Windows の仕様ではないかと思われます。
以下、分かった範囲で技術的な話を箇条書き(詳しい人向け)。
誤りや補足があれば教えてください。
前提条件:
・現在の HSP ランタイムはマニフェストが埋め込まれている
・マニフェストは Windows XP のビジュアルスタイル (Luna) に対応するために HSP3.0 開発中に追加された
・Luna は v6 の comctl32.dll に実装されていた
・よってマニフェストには comctl32(v6) への参照が追加された
・HSP は non-Unicode アプリケーションである
ここで問題になるのが Luna の制約:
・comctl32(v6) は non-Unicode アプリケーションには公式に対応していない
http://blogs.msdn.com/b/calvin_hsia/archive/2004/12/03/274680.aspx#274800
その結果:
・「non-Unicode」かつ「Luna が有効」な現行の HSP は動作保障外の可能性
・たまたま動いていたに過ぎない?
どうすればいいのか:
・HSP を Unicode アプリケーションにする→Microsoft 推奨だが、構造の抜本的変更が必要。あまり現実的でない
・comctl(v6)への参照を止める→簡単。ただし見た目が Windows 2000 以前の古臭いスタイルに
・再変換に関わるウインドウメッセージを自前で処理する→対策になるかは未検証
例:
http://mspace.sakuraweb.com/comp/prog/reconv.html
手元のパソコンでの再現例:
http://kie.nu/20xe (リンク先はアニメーション GIF)
マニフェストの有効・無効ごとに、mesbox と input でそれぞれ「入力→確定→範囲選択→再変換」を行わせました。