eso es porque al enviar el form, se recarga la página y todo se restablece, tienes 2m opciones:
 
fastidiosa: verificar en 
pag.php si se ha enviado el form y añadir 
checked="checked" o style="display: none;" a los check marcados 
con AJAX: te evitas el recargue de la página. 
PD: en javascritpt estás haciendo doble trabajo:    
Código Javascript
:
Ver originalfunction estado()
{
    var box1 = document.getElementById("box1"); //OTRA FORMA CORRECTA: document.forms['frm_name'].elements['box1_name'] | INCORRECTA: document.frm.box1
    var box2 = document.getElementById("box2");
    if (box1.checked)
    {
        box1.style.visibility=" hidden";
    }
 
    if (box2.checked)
    {
        box2.style.visibility=" hidden";
    }
}