The problem with the shell method is that, when you exit mala and execute explorer, you only have a explorer windows, not the desktop, progman, etc.
I've found another way which consist in replacing userinit instead of shell (same branch in windows registry: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]). The result is the same: MALA loads instead of windows ui, but when you exit MALA and execute explorer.exe you have everything back. Of course, the perfect result is if you set MALA to execute explorer.exe.
Finally, I'd like to say something about the white pointer appearing for a millisecond during the boot, no matter if you have invisble or black cursors. The solution is to edit user32.dll. You need Resource Hacker for this. The pointer is at the beginning of the tree (cursor). You can replace it with your black or transparent cursor (menu action, replace cursor). Then, save user32.dll in another folder or drive. Now you need Replacer (it usually comes with Resource Hacker). Drag the original user.dll and then the modified one. Windows will complain and prompt you about restoring original files. Say no, go to hell you stupid os. Reboot, and you're done. Be carefull with this, if you corrupt user32.dll or use a different version you will have a bsod when you boot and you will have to reinstall. Make a Norton Ghost image before doing things like this.