ちょっと忙しくて手を付けてませんが,太田さんのプログラムを参考にすると,
私のプログラムで,SendMessageの定義,
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
で,lParamの型が,Any になっているのが原因のようです.
送信の場合には問題無かったのですが,受信の場合には受け取りがうまくいっていないのではないかと思います.
あとで,型を COPYDATASTRUCT に修正してやってみます.