Se la pagina principale deve visualizzare le variazioni introdotte tramite il form devi dare il tempo al server di registrarle... e quindi ricaricare la pagina solo al termine delle operazioni.

Pertanto e' necessario che la popup non si chiuda subito, ma attenda che termini la procedure di aggiornamento indicata nell'action del form, la quale restituisce una pagina che contiene il seguente script:

<script>
opener.location.reload(true);
window.close();
</script>

ciao