I've implemented a workaround for the MaLa first load bug. First, let's describe the problem. When you run MaLa, from the desktop or from userinit/shell, the first time you load a MAME game (not tested with other emulators), and if you are using a loading screen (custom or the default "get ready to play" screen, after you see the loading screen and the game is about to be displayed, the gamelist appears on screen for half a second or so. Next time you load a game this problem is no longer there.
Tests:
This bug doesn't exit with a window loading box.
It doesn't matter if your loading screens are gifs or jpgs.
Tried in different computers with the same layout and MAME config, and the problem is there.
It doesn't matter if you load MaLa from your desktop or from userinit/shell
The problem happens if you run MaLa, quit, load MaLa again and then load a game, so it's not related with having loaded MaLa previously.
Tried in a computer with the same layout and MAME with d3d, stretch, high res, and no problem there.
Tried in this computer setting the layout to full screen low res, and no problem.
Everything indicates that the problem has to do with loading MAME in low res.
Tests indicate that if you run MAME, and then load MaLa, launch a game: the problem is gone.
So, until a patched new version arrives (if this problem is ever considered), I've figured out a solution which works perfecly: an Autohotkey script which runs MAME before MaLa, kills it, and then loads MaLa. I've compiled it and run it from userinit instead of mala.exe. You cannot see anything on screen as regards MAME loading. The only drawback is that your startup will take 1 or 2 seconds longer. Nothing serious. This is the code. Change the paths to your settings and compile.
#NoTrayIcon
run, d:\mame\mame.exe, d:\mame\, hide
winwait ahk_class MAME
winkill ahk_class MAME
run, d:\mala\mala.exe, d:\mala
exitapp