I dunno of this "MouseClickToDrag" and "MouseClickToPlace" It's really hard to decern where the issue is.
It sounds like, correct me if I am wrong. You want to be able to click on a brick. Move it to another location, release it, and it place and you want there to be a rigid body on it.
I wish you would tell me how you are doing it but let me tell you how I do it.
-create a game object in your scene and call int Input
-Create an FSM on this object that uses the Mouse pick action.
-Store the item that the mouse clicks on and validate that item however you want
-Then use Move towards and attach it to your mouse. There are a few ways to do this... the way I do it is when you have the object picked up, you call a mouse pick every frame and set the move to the postion of the pick.
-that should have the object tracking your mouse.
-Then you just need another action that will cause the person to release the block.
That should do it more or less.
I would try to handle all the controlling of grabbing it and releasing in one FSM.
Something else to help, try to minimize how many actions you put inside of a state. So far we have found it's better to split up your states into as many little chunks as you can to make it easier to debug. So treat a state like one thing you want to do there.
I actually have an example doing exactly what your talking about, so I know it works. I just can't post it sadly at the moment. I will post a tutorial on my site on how to get things tracking to the mouse.