Yeah, there's a lot of really old, hard-coded behavior in AGS.
Especially the blocking thing can be frustrating, but there's no easy solution for that. You need blocking commands or basic beginner scripts are impossible. However blocking also blocks stuff, which can get in the way of other things.
The fading can be solved with custom code and a black GUI, this way you can make it non-blocking. However this means other commands might now run too soon.
In short: this is unlikely to be "solved" in AGS 4, because there's nothing to solve here. You simply need to learn how to write code for an event-based engine.
Especially the blocking thing can be frustrating, but there's no easy solution for that. You need blocking commands or basic beginner scripts are impossible. However blocking also blocks stuff, which can get in the way of other things.
The fading can be solved with custom code and a black GUI, this way you can make it non-blocking. However this means other commands might now run too soon.
In short: this is unlikely to be "solved" in AGS 4, because there's nothing to solve here. You simply need to learn how to write code for an event-based engine.