Hmm... just a thought. I really don't know a whole lot about the emulation field (I'm trying to learn as it seems interesting and I'd like to possibly help out on this project), but what about a static recompiler for the parts of a program that can be statically recompiled? You'd have to somehow figure out which portions of the code will never be modifed by other code, but then you do all the recompilation of this code on your desktop PC, and all the code that can't be statically recompiled will go throught the dynamic recompilier at runtime. I don't know the logistics of sorting thought code and figuring out what exactly can be statically recompiled and what can't, and quite frankly I don't even know if it's even possible (and if it is, how hard it is to do). If something like this is possible, it could provide a pretty significant increase in speed, some code wouldn't even have to be recompiled or reinterpreted at runtime.
Also, I'm still quite impressed that I can play Final Fantasy Tactics on my Zaurus, even if it is quite slow at the moment (remember, I have an C860, so it's a bit slower than you fancy Cxxxx owners ). The little frontend thing where you select the ROM flickers like crazy for me. Also, sometimes text and stuff disappears and reappears magically, though that may have to do with HLE, as I can't find a PSX bios that works (I get an error with the ones I've tried... and my PSX is just sitting there in the closet taunting me). Thanks again for the fast progress on this awesome project!