Yo tampoco sé nada de 'gambas' pero me temos que esa solución puede no ser la más adecuada, me explico...
Si acedes a un formulario, se accede de una de 2 formas, en VB se llama 'Modal' y quiere decir que si abres un formulario en forma modal hasta que no lo cierres no puedes volver a la siguiente línea de código que abrió éste, es decir espera que lo cierres, esto se usa normalmente en los diálogos con el usuario, por ejemplo cuando esperas que elija el nombre y ruta de un fichero que lñuego vas a abrir, o un color que luego vas a asignar a algo... Si ese es tu caso, el código que opusiste sería correcto, pero..
Hay veces en que necesitas tener 2 o más formularios abiertos a la vez, en ese caso no es válido que tengas que cerrar el otro para acceder al primero sino que debes poder alternar libremente entre ellos. cuando cierra un formulario normalmente (según el lenguaje) su código se descarga de memoria, por tanto las variables pierden sus valores, por eso no es aceptable cerrar un formulario para ver otro. en visual Basic aparte de cerrarlo puede simplemente ocultarse (no aparece gráficamente pero siguen en memoria) en tu código has hecho eso precisamente con finicio, lo has vuelto visible, pero Falumbrado lo has cerrado.
Aunque sea gambas, todos los lenguajes tienen una estructura lógica que suele ser muy similar.
Saludos.