OLE containers -- checking whether document is modified

I am working on a generic document viewer using TOleContainer.  Things work
pretty well, except that I am unable to reliably inform the user when the
contained document is modified.

I set TOleContainer.Modified to false after opening the document within the
container.  But I find that...

MS Excel always returns Modified = true after the container is closed again
(whether the document is modified or not), and only returns true with the
container is open, when the container's size is changed.

MS Word never returns Modified = true with the container open.

I tried handling the TOleContainer.OnDataChange event myself, but that
didn't help.  I would prefer a solution independent of a particular OLE
server.  Any suggestions?  Thanks very much.