I tested the "DisplayName", "IsVisible", and the "FieldOrder" properties of CIMReportField and i was not able to get any of these properties to work as expected. Also, the ‘ReportDataSource’ method doesn’t use the ‘useSelectionSet’ parameter as documented. When i set the parameter to false the report still only shows the selected features.
I asked the Report API dev team to take a look at this, however, in the meantime i would recommend using the Alias in the Fields definition:
To hide a column just don't add the column to the CIMReportField array. To change the order you have to re-arrange the order in your CIMReportField array. And in order to add all records to your report you need to clear all selected features before you run (export/preview) the report. If the selected features are not cleared only the selected features will appear in your report.
I reply on this thread after i hear back from the Report API dev team.