aunque este solucionado, te diré que lo de las sesiones si funciona, solo que el $_SESSION['post']=true; NO PUEDE ESTAR ANTES de la comprobación, ni dentro de ella :S, esto es un lenguaje lineal, es decir, que si cambias la session antes siempre sera true y no funcionará, hay que declararla debajo, más o menos seria así:
Código PHP:
if(formulario_enviado)
if($_SESSION['post']) {
mysql_query("INSERT...");
echo 'los campos insertados bla b la bla';
}
else echo 'El formulario ya esta enviado';
else {
$_SESSION['post']=true);
formulario
}