This is actually a very good question... the short answer is no.
One example: flatten calls eZContentObjectVersion::removeVersions(). This method removes every temporary version (drafts, internal drafts, rejects, etc). This is a problem for internal drafts, as they might be used.
However, the method has an expiry parameter. It should be set to a sane value (maybe we have such an editing timeout already ?).