The cross section and the Curve Modifier curve need to have the same Origin.
The curve modifier had some problems when manipulating the Bezier Curve in certain ways.
If you modify in Object mode a Bezier Curve, such as scaling a curve, and Applying that curve. After that, the system keeps trying to applying that same change to the shape used as the cross section. Changes made to the curve in Edit mode are fine.
Although not a perfect solution, you can convert the path to a Mesh (3D View, Object → Convert to → Mesh from Curve/Meta/Surf/Text), and then the Mesh back to a Curve and it works, although the curve will be changed into a bunch of segments.