UbuntuのWine上に英語版VC++をインストールしてWin用の自作プログラムをいじってみた。
なお、日本語版VC++はインストールして起動まではするが、ビルドができなかった。
英語版でもプログラムのビルドまでは可能だが、デバッガが起動出来ないらしかった。

自作プログラムをいじってみると、Wineには、色々不具合があることが分かってきた。

1. MSDNの仕様書通りだし、本物のWindowsでは動作確認できている方法なのに、
  SetWindowPos() で、Z ORDER が 変わらないことがある。

2. Caretの動作が本物のWindowsとは異なるらしく、全く表示されなくなってしまうことが
  あった(試した自作プログラムでは、キャレットの大きさや出る出ないを微妙かつ複雑
  に制御している。)。

3. WS_EX_LAYERED 属性を付けて、MDI CLIENT と MDIChildWnd の両方を透明色にした場合、
  ちゃんと透明にはなるが、中の MDIChildWnd のタイトルバーをドラッグしようとすると、
  とても遅くなる。WS_EX_LAYERED 属性を付けていても、透明色で塗らなかった場合は、
  遅くならない。

4. DeferWindowPos() 系を使ってまとめて Window を移動してみても、とても遅い。
  本物の Windows だと、この関数を使うと、四つの細長い棒状の Window で
  四角い枠を作ってまとめて「ドラッグ」するような事が高速に出来るのだが、
  Wineでは出来ないようだった。

5. 日本語 IME 関連が全く上手く行かなかった。まず、IMEはONにはなるが、所定
  位置に出てくれない(本物の Windows では問題なく出てくれる)。
  そして、IME で決定された日本語が、全くプログラムの方に伝達されてきてない
  ようだった。これについては、Wz エディタなどは Wine でちゃんと動作している
  ので、 理由は謎ではある。