Don't return a document from the result of a POST. Instead, return a redirect to a document. This helps solves many of these issues. That's also what causes form re-submission warnings. When you click back, you skip redirected links, but you do not skip 200 OK responses. So if you are replying with 200 OK for your POST requests, you might be doing it wrong. Reply with a 303 See Other or something similar, with the actual document URL in the Location header.
More detail:
POST requests are not typically cacheable. POST requests are for performing some operation or adding some data. If you make the same request again, you want to perform the operation again or add some new data.
GET requests typically are cacheable. GET requests are for fetching resources. When you request a resource at a specific URL, it is generally expected that same document will be returned if you make the same request again.
Either way, the server is going to respond with one of several status codes. The most common is 200 OK, which tells the browser that everything went fine with the request and to display the response to the user.
The next most common is a redirect. There are several varieties, but some of the most common are 301 Moved Permanently (appropriate when you are sending them to a canonical URL), 302 Found (sort of a catch all), and 303 See Other (this is typically what you want in response to a successful POST). For all of these redirect cases, the Location header will contain a URL the browser should redirect to.
Currently, you are sending back a 200 OK result for the POST request. This tells the browser that the response should be displayed to the user. But because it's a POST request, the browser will not cache the response. And you will get form re-submit warning because in order to refresh the page, you have to send the POST request and all its data all over again.
What SHOULD happen is the POST request responds with a 303 See Other and a URL in the Location header pointing to the response document. When the browser sees the redirect, it will issue a GET request against this URL, which is cacheable and will not cause form re-submission issues when you try to refresh.
You may want to read the following for some more background.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html