Bien, veo que pillaste la idea
ahora claro, si yá entra tanta familia tal vez pudieras simplemente copiar el mismo código en todas las ventanas y ventanitas (excepto en la última generación) sin usar opener ni nada y ponerles a todas, excepto a la última generación, la misma instrucción que a la madre.
madre abre a A; A abre a B y C abre a D
tanto la madre, como A como B tienen un body onunload="cerrar()"
Así la madre cerrará sus hijas (ventanas de generación A), que al activarse su onload cerrará también a sus hijas (generación B, nietas de la madre) que al cerrarse cerrará sus hijas (última generación que no cierra nada)
Prueba a ver si te sirve hacerlo así