I was actually thinking of putting together a J2ME/Android version of Box2D, which would require some fixed point stuff, so I would definitely be curious to see your code. Unfortunately with Java on phones, it tends to be necessary to inline all fixed point stuff to have any shot at it running well, however I was considering writing a preprocessing step to handle this instead of doing it by hand, so I'd love to take a look at your code and see if it provides a good place to start that process from.
30 fps, huh? That actually gives me a bit of hope, the DS is comparable to the coming generation of phones, apart from graphics.
I am playing with physics on mobile phones for some time. I implemented very simple rigid body engine in J2ME (dymix.hardwire.cz), however for some reasons I can't make it opensource (yet...I am working on a game using it and the company does not want to open it's source until the game is out). However, there are really not many things to see. My aim was to make it as fast as possible, so I didn't care about accurancy.
It uses uniform grids for broad phase, SAT for narrow phase, impulse based collision reaction (only one "iteration", so it is not iterative at all:D).
It runs on CX65 and N6600, but it's the limit.
I was really thinking about porting Box2D to J2ME before I made my engine, but from my expiriences the "average" mobil phone is currently still not able to run it.
However, if your target phones are N70 or better it will be no problem.