Hola:
Tal vez sea el orden de programación... si en una línea de codigo pones el foco, y hay una siguiente (por ejemplo des-ocultando), ya ne pierde el foco...
elemento.focus();
capaDelElemento.mostrar();
El orden de esas instrucciones debería ser el inverso...
Por supuesto que respondo sin conocer el código y podría estar equivocado, pero también podría haber atinado...
Saludos