You don't cover all the cases. The case where the use adds an attachment isn't the same as the user pressing refresh to re-load the page (which is likely on a poor network - GPRS or 3G).
But also we need to goto the room before we show the edit page so that the To, Cc are (or are not, for room posts) properly shown (it's not just the post button).
However, perhaps the message-to-be-edited body can be preserved in the same way that attachments are preserved.
So when the edit window is bought up it looks at the id of the message to be edited and checks to see if the message is already saved in the session. If so, it probably has already done GOTO the right room (but it can do it anyway). If not, it will load the message, save it in the session, and then goto the right room.
If the user clicks refresh (having already done goto the right room) the original message will fail to load again but has already been saved in the session (like an attachment) and so can still be used.
Sam