While far from perfect, Smart Document technology gives the developer tremendous flexibility in creating intelligent document applications that will readily handle time-consuming tasks such as locating information, retrieving it, and inserting it into a document, as well as support for the creation of documents with built-in intelligence thanks to the incorporation of XML markup. For the most part, applications developed as of this writing have proven to be fairly stable, other than the areas specifically pointed out in this chapter.
While the resulting applications are working well, the development process tends to leave substantial amounts of garbage that goes uncollected. Be sure to clean out all temp files regularly (at least daily) to avoid additional problems. The frequent act of attaching/detaching manifest files/expansion packs may be necessary during development and testing is likely to cause Word to crash. Be sure you don't have any other Word documents open while debugging; you may end up losing some of your work.
As mentioned earlier, most sample applications provided in the Smart Document SDK or articles posted to the MSDN web site revolve around "data islands" combined with generic content elements that hold all of the content that is not associated with specific XML markup. For a number of applications, this approach is perfectly reasonable and should be considered.