I can replicate this on two different machines, so I definitely believe it’s a bug. If I run a custom menu procedure containing an undefined variable, like ProcList in:
filemenubar "all",
menu("A1") +
menuitem("A2","code",{message "Hello World"}) +
arraymenuitems(ProcList,"code",{message "Hello Jim})
no error message appears but if I then open any procedure in the database, the data sheet adopts the procedure menu bar, as in:
and the database has to be closed to be useable.
Not a big deal but a bug nevertheless.