Hi David Navarro,
There is the PreviewDrag routed event that is raised when the drag is about to finish, but you can handle that event, thus canceling the action if you calculate that the new position is not correct in terms of application logic (it is outside the viewport or is over other shape...). At the end the shape will return it's original position. It is very easy to follow pattern but if you need more details, please let us know.
the Telerik team