1 and 3 - great! This will be the most correct!
* Admin edits another's message, and doesn't mark "Edit" box - status will be 0 (allowed to edit by user). Nothing is showed as "who edited" info as the message was not edited at all.
I cannot say that it is wrong. No. But now, too, if I edit other's post and it has been previously edited by the user (state 1) the script returns it to state 0 and removes the "who edited" info.
Is there some possibility in this case the state 0 or 1 to be preserved and to remain as it has been before the editing? This will be correct.
However, if you say that it's too complicated, you could leave it as it is now.