I've been giving some thought to the workflow for using the XML files. Everytime I open the XML file I'm presented with a choice to make a new file, append to an existing file or merge with an existing project.
I'm now finding that this is also an important area ... the XML files do not appear to carry the full set of information that an MPP file might carry. The idea of extracting the XML, updating the XML and then merging the XML back into an MPP might actually solve the performance problem over automation (I decided not to make an addin this time around). I may be looking at this as an alternative to full automation (I'll check into this..) where I keep the XML hidden and end up saving an updated MPP.
The idea of merging also re-inforces the need for the UIDs to be stable and unique across a number of interactions with MSP. (This is now fully addressed and appears to work fine!!).
This may also mean that the MPP format is still an important format for reading and writing.. as this should have everything from source.
I'm still exploring the full capabilities of the XML files ... any other thoughts appreciated!!