¿Por qué tengo que llamar a showWindow en mi NSWindowController dos veces en 10.5?

Tengo una subclase de un NSWindowController que estoy usando para cargar una ventana desde una punta y mostrarla en la pantalla. A continuación se muestra el código que se llama cuando quiero mostrar la ventana. En 10.6 cuando se llama a showCustomWindow, se muestra la ventana, pero en 10.5 este método tiene que ser llamado dos veces para que se muestre la ventana.

-(IBAction)showCustomWindow:(id)sender 
{
   if(!windowController){
       windowController = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow"];
    }

    [windowController showWindow:self];
}

La ventana tiene "Visible en el inicio" marcada y al desmarcarla no parece haber una diferencia.

Editar: Me di cuenta de que el problema que estaba teniendo no estaba relacionado con mi NSWindowController o showWindow. Tuve que configurar correctamente. Sin embargo, descubrí que no todas las clases implementan awakeFromNib. En una de mis subclases NSView (que estaba en la punta que estaba tratando de cargar), estaba llamando [super awakeFromNib] que me estaba dando un "no responde al selector" (pero solo en 10.5 que es extraño). Por lo tanto, podría haber eliminado [super awakeFromNib] pero opté por el más robusto:

if([NSView instancesRespondToSelector:@selector(awakeFromNib)]) {
    [super awakeFromNib];
}

Eso permitió que mi plumilla se cargue normalmente y que ShowWindow funcione correctamente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta