HSP3.0でのウィンドウの移動についての質問です。

sendmsg hwnd, $A1, 2, 0
を使うとウィンドウの移動を開始させられることは分かったのですが、
デスクトップの外の見えない場所にまでドラッグできてしまい、その後
ウィンドウが操作不能になってしまうので困っています。

http://smile.poosan.net/perl-bin/hsp/ver3/hsp3.cgi?print+200510/05100013.txt
このページのサンプルも試してみたのですが、この方法だと
タイミングによっては上手くいきません。

なるべくgotoやgosubを必要としない、スマートな方法を教えてください。