I would consider looking into the History API and more specifically, pushState()
within javascript. I've been using it and it's so much better plus search engines like it.
history.pushState(null, null, '/page.aspx?showform')
This allows you to change the URL without a refresh and you can do away with the hashes. Back/forward works fine.
This page sums it up nicely: http://diveintohtml5.info/history.html