You appear to be using the same types in the same order.
And is this a bad thing?

Text Field, Number Field, Text Field, Number Field, Text Field, Number Field....
I always figured the code reordered the csv/database output order according to the vertical down and left to right orientation of the elements, even if you dragged the elements around in the interface or inserted new elements. That's always seemed to be the way it worked in the past but I must have thrown it a curve ball.