Hola,
Si eres tú el que controla el movimiento del componente, es decir, si utilizas los eventos "OnMouseDown", "OnMouseMove", etc., del formulario, tal vez sea cuestión de que cuando "pares" el movimiento del componente, cuando el usuario deje de moverlo, compruebes si su posición sobrepasa los límites del formulario y, en ese caso, sitúes el componente dentro del formulario, no sé si me explico yo...