Could you please provide more information regarding how exactly is the table of contents affected by the insertion of DocumentFragment? I'm having a hard time understanding the exact issue that you are encountering.
Generally speaking, RadDocument can be in two states - a measured one (usually when the document is shown in RadRichTextBox) and a non-measured one. Depending on the state, you can either use the API of RadRichTextBox and RadDocumentEditor, or use the collections of document elements like Section.Blocks, Paragraph.Inlines etc.
When it comes to adding the contents of one document to another we usually advise creating a DocumentFragment and inserting it. However, with what I said in my previous reply, the API that allows inserting fragments is used for measured documents and if your document is not measured, the InsertFragment() method will do this for you. What this means is that from this point on you should not use the collections of document elements to add/remove content, as this might cause unexpected behavior including invalid document structures.
On the other hand, copying all blocks from one document and adding them to another would not work, as it would not preserve certain properties, for example lists. Please let us know precisely what are the issue you are facing with document fragments and we will do our best to assist you further.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.