This is the behavior of FeatureDataForm, it relies on the order of fields as specified in the service. If you wish to change this behavior, you can download source from codeplex http://esrisilverlight.codeplex.com/, you can tweak GenerateFields() method.
I have asked around and it seems there is a bug in feature service where the results does not honor the order of out fields.
For example, this service defines lifecyclestatus before description in the fields. If I request "description, lifecyclestatus", the result respects the order in my query in map service but not in feature service.
Map service:
http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer/0/q...
Feature service:
http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer...