Columns order are changed and do not follow order of xml properties. This issue usually is not noticed until final tests take place, and this technically this is not an error. What happens is that if xml fields are not required, first line will set column order for the following lines. When subsequent nodes carry those additional properties, that’s when issue start happening.
Solution: if you have a context mapping that builds xml prior to csv conversion, make sure to use map default function, to force creation of property, even if empty.