I know this is very very late, but I asked a similar question a couple of weeks ago. The answer I received was that the system places 5 spaces before and after the "=" sign, and I'd have to make the field names the same length? (most firstname/lastname fieids are NOT the same length...) I have since been working a bit with XML/HTML, to figure this out, and it seems to offer a little more control. Not sure this helps you? Maybe EZ Support can shed more light?
I faced the same problem. If you start each hidden field with a number and then the name it will come out in the order you want it. If you have two items you want together use the same one or two digit number. I did this on an activity request form to keep dates and time together when the form is submited
All times are MT (US). All dates are in Month-Day-Year format.