I'm experiencing this same bug on a project I'm working on, and have
not found a solution. Ironically, you may have noticed the random
iframe that gets inserted before the closing body tag, and which often
breaks the layout of the page. (This is a different iframe than the
one used by the captcha itself.) The purpose of this iframe, as far
as I have been able to find, is supposedly to fix this browser history
issue in Webkit browsers. Apparently that "fix" is failing. I have
not tested it in Safari, but I can confirm that the history issue
still happens in Chrome. See:
http://groups.google.com/group/recaptcha/browse_thread/thread/ed057e23705797ab
Unfortunately, the answer to your question found in the following
thread was simply, "Don't make the user press the Back button:"
http://groups.google.com/group/recaptcha/browse_thread/thread/5a86a4a69798ef33/372d957d6f726180?lnk=gst&q=safari+back+button#372d957d6f726180
What a silly solution. Especially when well-known web apps, such as
Gmail, work very hard to be compatible with the back button in user-
intuitive ways. The back button can be our friend.
Anyway, I have put this bug on the back burner for a while, but will
take a look at it again tomorrow. The hack solution that comes to
mind is to call Recaptcha.reload() in a document.ready event (assuming
you're using a library with such an event.) If this doesn't work, you
might have to overload the Recaptcha.finish_reload callback, as
mentioned in this blog (this is nasty, as this callback is not
officially supported):
http://www.brandonturner.net/blog/2009/02/reload_recaptcha_with_error/
Good luck!