Correct me if I'm wrong, but my understanding of the use of the Compact Format in WriteXml/ReadXml results in the default entity factories being used when de-persisting from Xml (I've done a few quick tests and this appears to be the case and remember reading about the limitation somewhere).
Anyway I was wondering if it would be possible to get the ReadXml to make use of the TypeContained (if present) when de-persisiting from Compact XML, this should result in the de-peristed object graph more closely matching the graph before persistance for cases where inheritence is being used (after all we already adorn EntityCollection properties on derived classes with this attribute).