If you have ever used a PHP-based discussion board then you would see how they deal with it, they create an intermediate page which does the saving and then redirect the user from their to the next page.
The intermediate page will usually say something like "Thanks for logging on, you are now being redirected back to the forum".
Of course, if they refreshed on this page then it would do the same double-post, but it is unlikely they will refresh during the second or two that redirection is taking place :)
David Carrington, May 2004