Adam,
Thanks for the link to an example showing me that I can capture the "OnTextChanged" event. That was also what was suggested to me back in May 2010 when the same issue came up with CE 6. At the time CE 6 did not have a "IsDirty" property and it was suggested to me to manually track whether the content was dirty or not every time the OnChange event was fired. However, as discussed in this thread, it's a little more complicated that is seems. For instance, we need to be able to take into consideration the fact that users can click on the undo/redo buttons, edit image properties, etc. I didn't investigate if the OnTextChanged is invoked when these events occurred but I remember that it didn't work that way in CE 6 which prompted you to add the "IsDirty" property to CE 6.
I really wish you offered the exact same "IsDirty" property in RTE 8. Is this something you plan to do?
If you are not planning to do it, would you be willing to share the JavaScript source of the IsDirty that you wrote for CE 6? This would help me rewrite it for RTE 8.