Using an adjustable delta time is a decent solution, but you need to take care and think it through carefully. Consider animations, sequences and tile set animations. The play speeds of these will need to be adjusted as well. For visual effect and also if you have any logic or control that is based on animation frame/end, animation broadcast, sequence events, alarms etc...
It is doable, but you have to think it through.
However, if you make a decision to avoid using animation broadcast, animation end events, sequences, sequence events, alarms etc... then having a global time multiplier is definitely a simpler implementation.
Even if you adjust the actual room speed and use a fixed delta time you would need to adjust the play speeds of animations and sequences to achieve the desired effects.
If you plan on having some sort of time dilation or fast forward then your tasks will be easier if you make the decision to avoid using sequences or basing any logic on animation play speeds.
Alternatively, I would suggest that you consider thinking about your game and splitting your game model/logic from your game presentation. For your game model/logic you implement your own processing loop that you can call as many times as you want regardless of room speed, and then keep your game presentation within GMS's standard event loop and objects.
Think of your game as a client/server. Even though it is one application and single player you can conceptualize and compartmentalize your game data/model/state processing from the game's presentation/UI/IO... This way you can handle processing the server (possibly in a controller object's begin step) at what ever speed or multiple times per frame, separate from the speed that the presentation is handled normally through GMS's event loop. Again this would require you to not have game logic dependent on GMS features like animation or sequences or alarms.
Hope that made sense. I've done this a few ways and all of them take some thought if your game has any complexity. It is a good exercise as it will force you to get very familiar with many GMS systems.
EDIT: Even though there are mechanisms for controlling/adjusting the processing speed/time of the physics system I havn't messed with it. I imagine there would be some nuance in trying to get it to work with varying time.