schau dir mal die Hilfe zu wm_sizing und wm_moving an!
Mit der Message kommt ein Pointer auf die neuen Koordinanten des Forms. Diese solltest du direkt korrigieren. Andernfalls änderst du eben die Korrdinanten durch deine Methode und beim rückkehren aus der Messageroutine wird nochmal korrigiert - daher auch das zappeln.
Schau dir zur Orientierung mal folgendes an:
http://www.delphipraxis.net/internal...=699256#699256