Did a bit more testing:
This method works in both display modes, provided that gBlack is turned on before leaving the previous room (Screen Transition: instant).
// after fadein
FadeOut(64);
gBlack.Visible = false;
Wait(1); // without this, the GUI isn't turned off before the fading!
FadeIn(1);
I have also noticed that the speed varies depending on the graphics driver...

DirectDraw seems to fade faster than Direct3D.
Also, I can confirm Sunny Penguin's suggestion; apparently, calling FadeIn() in before fadein/room_Load works in Direct3D mode (although it shouldn't).
On the other hand, a proper solution shouldn't use an object nor rely on the user not being able to change the display driver.
Let's hope that this is addressed in AGS 3.3.