How can I make a object follow perfectly a nurb path?
First of all, delete all objects except NurbsCirle and Cube.000. They are not relevant to the problem and only in the way.
Set the cursor at the world origin (Shift+C). Select all objects (A) and set the objects origin to cursor (Ctrl+Shift+Alt+C).
Select you object and go into edit mode. You'll see it is not at the origin. Select all Vertices and in the Properties panel (N) -> Transform -> Median, set all values to 0 to center your object. Rotate it until it doesn't lay flat on the ground. Exit edit mode.
In the Modifiers panel of your object, make sure there is an Array modifier with its length set to "Fit Curve" (If your object doesn't fit the curve later on, remove the curve). Beneath you sould have a Curve modifier set to NurbsCurve. Test all Deformation axes until you hit the right one.
Select your curve and go into edit mode. Select everything. Press Ctrl+T to tilt your curve along its path until the object on it is oriented the right way. You may need to do this several times at several locations until it looks like you want.
You're done. Now you can try to restore the other objects and move the curve's origin without destroying everything