Pues no veo por qué no te funciona, porque debería (usar access 2003 no es el problema)
¿Me puedes explicar un poco más el funcionamiento de la BD y lo que pretendes?
Yo estuve haciendo unas pequeñas pruebas, y no consigo que no me funcione...
http://www.filebig.net/files/M37zW52jwx
En ese archivo, desde el primer formulario (FInicio), al pulsar el botón se abre el Formulario2 (porque j=False por defecto).
Al pulsar el botón cerrar en ese Formulario, se cambia el valor de j a True, y al pulsar de nuevo el botón en FInicio, abre Formulario1.
En Formulario1 hay un botón que simplemente cambia el valor de j. Al pulsar el botón de FInicio, siempre abre el formulario correspondiente según el valor de j en cada momento...
De cualquier forma, te comento una posibilidad alternativa que tienes, con la ventaja de que te conservará el último valor aunque cierres la BD (por si lo ves interesante):
1º/ Creas una tabla con un único campo de tipo Si/No. Por ejemplo el campo se llama "rosario" y la tabla "TConfig"
2º/ En el código, usas DLookup para recuperar el valor de esa tabla, y una consulta de actualización para cambiar el valor del campo en la tabla:
If DLookup("rosario","TConfig") = True Then
DoCmd.OpenForm "FrmMenuNAZini"
Else
DoCmd.OpenForm "Inicio_Turno"
CurrentDb.Execute "UPDATE TConfig SET rosario=-1" ' Con -1 lo pones a True y con 0 a False
End If
3º/ Cada vez que quieras cambiarle el valor, usas la SQL de actualización correspondiente (CurrentDb.Execute "UPDATE TConfig SET rosario=...." )