Regarding the idea of separating players automatically according to their level, it's true that it would prevent the higher ones to kill newbies but it would be too restrictive. Now imagine a level 100 player that invites his friend to join the game, they couldn't play together because of this block! The same goes with fellow players that only differ by one level. Also not all players like to play with the risk to be killed by other ones, some of them want to play pacefully. Therefore you could split the "rooms" in two types: "friendly rooms" do not allow players to kill each other, "danger rooms" allow that. You could also put better resources in "danger rooms" to counterbalance the risk. This would allow players to choose which play style they want every time that they change room.
The room resetting mechanism has also some drawbacks: players do not know when a room will be resetted since they don't know how many players are in a room and also any player that enters would reset the timer, that may cause the rooms to never reset when there are many players and they would end up in quitting for boredom. Therefore i suggest to set a "deadline" to any creating room that lasts approximately ten times the timer and when the dealine passed no player can enter the room and once that all players in the room are gone it becomes empty.
Third, I imagine that players would enjoy a way to revisit a room. To make it possible, each randomly generated room actually generates from a random seed (have you played to "the binding of Isaac"? ), this seed is visible in the room info as well in the player game log. The player can input a seed in a free room in the lobby and regenerates the same exact room as before.