Your problem lies in the fact that you are simply using:
Input.GetMouseButtonDown(0))
...without bothering to check to see if NGUI is using this event. You're going to Unity directly, instead of to NGUI.
To solve this:
1. In the Start() function, set
UICamera.fallThrough = gameObject;
2. Delete your Update() function. You don't need it. Instead, you get OnDrag:
void OnDrag (Vector2 delta)
{
Debug.Log("Dragging the object " + delta + " pixels");
}
I also suggest making it even better. NGUI is capable of sending out events to all objects that have a collider, so if you were to put a UICamera script on your main camera that sees your floor, then add a collider to it, and assuming this script was attached to the floor, you would then not even need to set the 'fallThrough' object in Start. You will be getting OnDrag events automatically when you start dragging on the floor. You can then do this:
void OnDrag (Vector2 delta)
{
Debug.Log("World position of the hit: " + UICamera.lastHit.point);
}