El problema que observas es ocasinado por qué el uso de sesiones común de PHP por defecto ajusta el control del caché de páginas (para navegadores/proxys y demás ..) a un valor "no caché" (no hacer caché de la página que queda bajo sesines) .. Es un tema de "seguridad" no hacer caché de páginas que quedan "protegidas" por una sesión.
Esto en combinación con tus formularios que usan método POST originan que al ir hacia -atras- con tu navegador .. el mismo pretenda enviar los mismos datos que tiene almacenado a la página/script en cuestión.
Algunas soluciones para evitar este "problema".
1) Que tu aplicación guie al usuario en el flujo de tus páginas. En resumen, que "no" tenga que usar dichos botones por qué tu aplicación no lo guía (con links, menus claros .. etc). En ese caso .. el mensaje aparecerá igualmente .. pero es completamente que -deba- aparece por seguridad. Si tu aplicación guía al usuario .. en ningún momento nadie debería ver ese mensaje y si lo vé es por qué "intencionalmente" no está siguiendo el flujo de tu aplicación.
2) Usar método GET en tus formularios .. nada recomendable, quedarán esos datos en los historiales de los navegadores ..
3) Forzar a PHP a que en su uso de sesiones haga el caché de páginas. Puedes usar la función:
session_cache_limiter() y lo ajustas a un valor tipo "public" o similar (lee los comentarios de los usuarios de dicha función.
www.php.net/session_cache_limiter
Un saludo,