Hola:
Respondiendo a tu intriga "filosófica", hemos tenido algún tema al respecto, y lo que pasa con el redimensionado es que se alteran las medidas porque con la instrucción resizeTo() se añade a la altura el tamaño de la barra del título, y lamentablemente ese valor varía según los sistemas
En imágenes grande tal vez se trate de algo inapreciable, pero es distinto con imágenes pequeñas.
De todos modos, cerrar una ventana es tan simple como usar el método close()
ventana = window.open(...);
ventana.close();
La secuencia tal vez sea mejor así:
function abrir() {
if (ventana) ventana.close();
ventana = window.open(...);
}
los valores que habría que chequear para ventana serían false-null-undefined tal vez...
Saludos