Also ich habe momentan 2 Vermutungen woran es liegen könnte:

1. Vermutung
Für dein verändertes Menü wird ja die Map im Hintergrund angezeigt, dafür wird ein Sprite-objekt erstellt, durch diese Zeile:
Code:
@sprite = Spriteset_Map.new
Eventuell wird dieses Sprite beim Verlassen des Menü nicht korrekt gelöscht, wodurch es beim zweiten Aufruf des Menüs zu Problem kommt.
Du solltest folgende Zeile in deinem Menüskript finden:
Code:
@sprite.dispose
Und zwar im unteren Bereich der main-Methode. Dort sollten auch die Window-Objekte disposet werden.

2. Vermutung
Irgendwo in dem Mapskript steckt der Fehler. Sollte also erstere Vermutung nicht zutreffen, poste bitte den GESAMTEN Code von "Spriteset_Map".