There is an easy workaround to the situation, but surprisingly it seems that few people knows it: so I'm posting it.
The trick is showing a static page , a simple .htm, in the ShowModalDialog call; such page should hold the active content (your .aspx) in an IFRAME. Subsequent posts will be confined inside the iframe, hence restoring the intended user exprerience.
J proposes a more efficient system: <base target="_self"> in the header of the aspx page yelds to the same result. Thank you J 🙂