das ganze kommt eben durch Release Capture und dieses SysCommand. Aber es dürfte ja nicht das problem sein das MouseUp manuell danach auszulösen.
Delphi-Quellcode:
ReleaseCapture;
sender.perform(WM_SysCommand, SC_DragMove, 0);
if Assigned(OnMouseUp) then
OnMouseUp(Sender, Button, Shift, X, Y);