Rendering of flash causes form to to be re-rendered... why?

This is expected behaviour. You need to track your form’s state if you want to keep it around. This would happen on any change to assigns, not just flash.

See this thread for discussion about it.