Hi Bruce!
The undo functionality here is most likely being taken directly from the MSHTML functionality, which for most of the editing code in this software it is most likely a wrapper for. If this is so, then it means your mileage will vary a lot when using it.
I could be wrong, but I think it is set in MSHTML to only remember back one undo namespace and that undo namespace can change with each editing functionality depending on what's needed ie...the undo for a font is different than the undo for a picture or a table and so on. So an undo namespace might only be good until another functionality/button is clicked, at which time it is replaced with the appropriate undo namespace for the button/functionality clicked. This causes the undo button to look like it has stopped working when in fact it has instead just invalidated the prior undo namespace in favor of one that fits the chosen functionality.
You'll find this happens in all the editors based on the MSHTML control.
So the undo really only works right after something is done, and only before a different functionality is chosen and only if that functionality has a correctly working undo namespace. To make matters worse, it seems some undo namespaces are shared whereas some are not, and sometimes it appears that an undo namespace is actually cleared by the MSHTML control based on some unknown internal rules. All of this causing more confusion.
It needs to be replaced by someone. I did hear MS is working on it, but it will only come out in a new future service pack.
Hope this at least sheds some light. Your mileage may very on the informatytion above, it's just what i was told by MS.
-Colin