The main problem with DrZ80 support in MAME GP32 now is the limited compatibility. It would be cool to make it more compatible. Reesy told me the problems now to make it more compatible: DrZ80 does not check interrupts flags after every opcode, DrZ80 does not inform about the already executed cycles, DrZ80 does not update previous program counter after every opcode, etc. I think Reesy could tell you these issues more exactly.
I don't know if DrZ80 speed could be improved.
In MAME GP32 you can select Frame-Skip<=2 (frameskip adjusted up to fs2) ,<=1 (fs up to fs1) ,=2 (fs fixed to 2),=1 (fs fixed to 1),=0 (fs fixed to 0), etc.
I have not implemented fps counter yet, because the number of games playing now at frameskip 0 is very limited, normally it is 1-2 depending of the game and the moment into each of the games. But i would add a fps counter if you are interested.
In MAME GP32 1.9 i only have done a limited debug feature compiling MAME GP32 with "-DDEBUGMAMEGP" (defining DEBUGMAMEGP). Then a message is presented in the center of the screen with milliseconds needed to emulate each video frame (you can select frameskip=2 fs, fixed to 2, and compare the results with C core and DrZ80 asm core).
I have not released MAME GP32 2.0 yet because i have not enough interesting new features to warn people to download a new version (10 Mb in size :-( ). I have only done direct SP memory access in DrZ80 (i have passed you the sources in an e-mail some days ago), i have added screen strecht code done by Pepe_Faruk, and i'm trying to add more games with big screen resolution to check strecht code (i.e. Popeye, Spy Hunter, Rampage, etc)...
Regards.