sounds like you need to be more specific. you could give us an example of what you want accomplished or maybe show us where you think the problem is by showing some code.
here's something I would do [pseudocode]
. . .
if ( 'picked' and choice_button_down)
click-dragging for this object is enabled.
(picked object's new location) temporary location --> x = current mouse position
(picked object's new location) temporary location --> y = current mouse position
if ( click-dragging for any object was enabled AND no mouse button | dragging is going on)
current or enabled object's new position temporary location
. . .
I hope that places you in the right direction.