There is no way I can make a Curve Modifier after an Array Modifier behave. Object dimensions are completely messed up, which makes the creation of an exactly scaled object impossible.
Of the two blend-files attached, in the ROAD_ARRAY_before file, you will see that I have created a Path curve (NurbsPath) of length 100 m, which I have edited so that is swerves a bit towards the negative Y axis (down, as seen in a Top Ortho view). I have also created a 10x10 m plane, which I have duplicated 10 times along the X axis using an Array Modifier. Please notice that the dimensions of the plane array are 100 m length along the X axis, and 10 m width along the Y axis.
In the other blend-file, ROAD_ARRAY_after, I have added a Curve Modifier after the Array, in order to have the arrayed plane follow the curve. As you may see (preferably in a Top Ortho view), the plane object has been deformed (arbitrarily?) to a width of 144.818 m (along the Y axis)!
(I should mention that I was careful to apply rotation and scale during all operations, so that they are set at 0 and 1 correspondingly).
Any attempts to change the dimensions of the plane array to an array of 10 m width (along the Y axis) are futile from now on, as you may confirm by trying either to change the dimensions in object mode or scale the object in edit mode. Scaling in object mode manages to reduce the width of the object to an approximate 10 m, but the reported units of the Y-axis are completely wrong.
Am I missing something, or is there a bug in the combination of Array with Curve modifiers? Similar issues appear to be reported on the web, along with assertions that the behavior of these modifiers has been corrected in current versions of Blender. Not so, as far as I can tell.
Any feedback would be greatly appreciated. Such precise dimensioning is very useful in my work (3D modeling of transportation networks, in the context of Environmental Impact Assessment).