Hi Pete, thanks for your looking into it.
In case of Configuration SDK, we generally typecast IMessage (received from EventObjectCreated, EventObjectsRead etc) into proper event class and then refer ConfObject member of typecasted object.
ConfObject member represents complete XML of returned object (i.e. Person, DN, Application etc).
Using XML parsing we can read values (like Name, Number, UserName etc) inside different object types.
But if we do not want to get into complexity of XML parsing, then how we can convert ConfObject member into suitable type of ICfgObject (i.e. CfgPerson, CfgDN, CfgApplication etc).