If you take a closer look at the level loading code this won't come as a surprise.
This was a mess in the original Doom code already, but when ZDoom got extended to use MAPINFO it was made ten times worse, because the new features got tacked on in the same bad style. The level name gets passed through several variables, some local, some global, some in external structs and if not all of the volatile assumptions being made here match up - boom...
I think we can load several levels without MAPINFO entries at the same time. Is it OK that the default level info will shared between them? Map name will be overwritten of previous maps that use the default level info.
No, if multiple maps without a level info get loaded they need to be synthesized and added to the global array of level infos. But I'll make sure that this cannot be done, once multiple levels get enabled - anything that wants to do something here will have to refer to a MAPINFO entry.