I agree that in the context of the problem, a global menu bar is
probably the best way to go.
However, another way would be to ...
If you are trying to build an app that behaves like a normal
Mac app (and by implementing Cmd+N with now windows open it
appears that you are), the global menu bar is the way to go
because that is how normal OS X apps behave -- when there
are no windows open the menu bar still contains the File and
Edit menus, with New (Cmd+N) and Open (Cmd+O) enabled. Users
expect to see the menus. The key sequences are only keyboard
shortcuts for the menu items. Novice users typically go to
the menus for everything, and don't start using Cmd+N et al
until they are more familiar with the OS. Any solution that
does not present the menus is in incomplete rendition of the
normal, expected behaviour.
Steve Roy has written a package that encapsulates and
abstracts the global menu bar, suitable for use in cross-
platform applications: