Hola mesiasdiabolico:
Lamento decirte que estas equivocado.
Para eso te dejo un sencillo ejemplo.
La pagina 001.htm abre una modal y recive verdadero o falso al cerrar la modal
001.htm
Código PHP:
<HTML>
<HEAD>
</HEAD>
<SCRIPT>
function doDialog()
{
var x=showModalDialog('002.htm',ip1.value,'status:no;resizable:yes');
d1.innerHTML="El cuadro de diálogo devolvió el valor: " + x;
}
</SCRIPT>
<BODY>
<BR><BR>
<INPUT type=text id=ip1 value='contenido de la entrada'>
<BR><BR>
<input type='button' onclick="doDialog()" value="Crear cuadro">
<DIV id=d1></DIV>
</BODY>
</HTML>
La pagina 002.htm tiene un formulario
Al precionar enviar pasa la info gracias al <base target="_self"> que se encuentra en la pagina 002.htm de lo contrario pasaria lo que esta sucediendole a RollBack, abre una nueva ventana.
002.htm
Código PHP:
<HTML>
<HEAD>
<base target="_self">
</HEAD>
<body>
<form method="POST" action="--WEBBOT-SELF--">
<p><input type="text" name="T1" size="20">
<input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>
<input type='button' onclick="returnValue=true;window.close();" value="Aceptar">    
<input type='button' onclick="returnValue=false;window.close();" value="Cancelar">
</form>
</body>
</HTML>
Ahh con cancelar o aceptar devuelves true o false a la pagina que abrio la modal.
Prueba el codigo con y sin
<base target="_self">
Espero haverme esplicado bien.
Saludos