I'd advise against copying rooms - aside from being memory inefficient, it'll probably wind up being more work in the long run, especially if you go back and edit things later. Gates will have to be re-aligned, and if you're auto-linking from another world the exit gate won't align with the entrance (so entering from one world will cause you to transport to a different one when you leave).
The easiest way to make multiple versions of a room with very different sprite arrangements is to put in both sets of sprites and have one of them destroy itself in its _create function depending on whether or not a variable is set. (You can set a global variable in a world without using items by targeting _world.) For characters though, I'd just use one sprite and put everything in a single flowchart with different start points.
There are other things you can do if you want to get really fancy (I made a random encounter system that uses a special "variant" helper sprite to make a room with 10 different variations) but for only 2 variations this should be easy.
Edit: I went through the dungeon - nicely done! Took me quite a number of tries to beat, despite having full equipment, but maybe I'm just not as good of a gamer
Just a few things:
Flames still need to be able to jump back. The last one actually jumped out of range in the last room (where you have to kill all the enemies), and since the room is persistent it made the dungeon unwinnable (without cheating).
Spid's intro - nice! Should probably be facing down when done though.
Sometimes when the second phase starts, if Spids is partially off the edge they get pushed entirely off. Maybe they can jump to the center of the room when transforming? A quote would be nice as well, to give a moment to prepare for the second phase.
Something seems wrong with the ending cutscene. It works if you put "continue immediately" on the Walk command that makes Spids face downwards, though this does appear to be another cutscene bug that I need to fix. (By the way, you can set _face to make an object face in a particular direction. You can even {Set _face to _direction_to(sprite or point)} to make it face a particular object.)
The new golems are...interesting. Might want to add a hint about how to beat them somewhere in the town (some things that may seem obvious when you've made them could be less clear to a new player.) Golems along with sorcery flames are a tough combo to deal with.
Don't rush yourself! It's a nicely-done world and the characterizations lend a lot to its charm (maybe some multi-character sidequests could go in later?). I'm probably going to showcase it in my next video once it's done.
Now, back to sorting out these memory leaks. It's a little bit like pruning dead branches off a tangled bush that's stuck to a ceiling, except the bush is moving, the dead branches are still growing, and the branches extend through time as well as space.