Hmm... it seems the problem is a bit knottier than that...
Room_set_persistent doesn't seem to work on rooms already visited so it is not possible to "reset" them all cleanly from one convenient spot. However, here's this thread:
https://forum.yoyogames.com/index.php?threads/how-can-you-reset-mutiple-persistent-rooms.13809/Some good ideas there, particularly that you should avoid room persistence and set up your own gamestate save system.. but as you seem to be a long way into development to redo everything, this method might help:
create a persistent controller object and put the below code in the room start event. then go to the first room.
if room_exists(room_next(room)) {room_persistent = false; room_goto_next();} else {room_goto(start_room); instance_destroy();}