Hi, In version 1.0 there is limited support for Master Objects. If you want to read the properties for the "mastered" object you will have to access the linked object on the sheet and retreive it as its type (in this case Table).
1. The colums are retrieved in the order of the definition (hypercubedef), the client uses a property called columOrder which indicates the presentation order. There are severeal ways you can handle this - get the data and then sort the retreived columns by the property columnOrder - GetHyperCubeData with multiple pages one page per column. Set page.right and page.left property according to the property columnOrder.
2. The heading can be retrieved thru the definition (hypercubedef), i.e. table.Properties.HyperCubeDef.Dimensions.First().Def.FieldDefs.First(). note the limited support of master obejct in version 1.0.
In version 1.0 of the SDK the support for master objects is limited and you can not extract the Table properties from the master object properties, which you can in the next version (1.1) of the SDK.
With version 1.0 you can get the object type (masterobject.GetProperties().VisualizationType) and create a new object of that type. To get a the properties from the master object to the table the is a method on the app
LinkMasterObject(sourceid, masterobjectid). Now you should be able to get the properties by myNewObject.<prop>