Hola:
Te en cuenta que cuando en el Formulario por ejemplo FrmInventario estás en el procedimiento Unload el formulario se está cerrando por lo tanto lo que no debes hacer es ocultarlo puesto que al cerrarse evidentemente dejas de verlo.
Por otra parte en FrmBienvenido no debes indicar vbModal puesto que lo que haces es mostrar el formulario principal.
La funcion vbModal es para que no se devuelva el control al programa principal mientras no se cierre el secundario.
Supongo por otra parte que el Login de entrada lo has descargado, no ocultado porque no es realmente lo mismo y si sólo los ocultas al salir del formulario principal deberías cerrarlos a todos.
O sea, para entendernos, prueba así:
Código vb:
Ver originalPrivate Sub Form_Unload(Cancel As Integer)
FrmBienvenido.Show
End Sub
Private Sub CmdInventario_Click()
FrmBienvenido.Hide
FrmInventario.Show
End Sub
Lo que te provoca que no cierre la segunda vez por la X es que cuando le dices que devuelva el control a frmInventario le estás indicando vbModal ya que acabo de comprobarlo.