What the Pin behaviour does is pretty much just
+ Every Tick
- Set [object] position to (X,Y)
Except that the X, Y coordinates doesn't update after the object is pinned.
If you need more precision, I suggest dropping the Pin behaviour and do it manually, using a boolean or a string value as a state machine to check when the object is grabbed or not.
+ [object] Grabbed = true
+ Every Tick (adding every tick here is not really necessary, but old habits die hard :P)
- Set [object] position to (imagepoint.X, imagepoint.Y)
You're doing almost the exact same thing as the Pin behaviour, but the object will follow the image point, since we are using the image point's coordinates directly.