>That's the benefit of the current approach that after the deep cloning >the imported page is independent from the source page.
And that’s what you (IMO) want to maintain. Once you copy the object(s) to the new document they are, in fact, new objects and should be treated that way. They may still point back to data in the original file (since you don’t need to copy the stream until write time (aka COW model)) but the object itself is now part of the tree of the new document. One thing you might want to think about is shallow vs. deep copies. In many of the other libraries, the CosObjCopy() method (or equivalent thereof) offers the option to copy the full tree/structure or just the top level - this distinction is useful in a variety of operations. Perhaps that might help here as well.