途中経過です。
コンパイラをVisual C++に替えたらうまくいきました。
Borland C++だとなぜか下位バイトが0x00になってしまうようです。
どなたか回避方法をご存知ないでしょうか?