I had this problem a while ago after recompiling a hacked version of smb1. When I ran it under my emu and LissNES it seemed to work fine, but once I loaded it in NEStopia and FCEUltra the game would start off at this level. It turns out that these hacks do not initialize the RAM, and (apparently) the game later on reads memory spaces from RAM and expects them to be set to specific values. Thus, this hidden world is shown... I am guessing that the only way of fixing this glitch would be to modify the RAM location used to store the current world number accordingly.