¿No te sirve usar la función ClipRect? Por ejemplo, para confinar el cursor a un rectángulo dentro de tu formulario:
Código Delphi
[-]
var
R: TRect;
begin
R := BoundsRect;
InflateRect(R, -20, -20);
ClipCursor(@R);
end;
Para liberarlo pones:
// Saludos