No, I don't want to maintain 0.5.1, sorry - the code base is completly different, I have enough work maintaining all the 0.6.0 builds
anyway, I figured most of the problems - everything seems to be related to timer issues. It seems that modifying the thread priority does not change anything on PocketPC 2003, for an unknown reason (every return code is correct).
Now the problem is that the new Digital Imuse needs to be waken up every 40 ms, which is not reliable on PocketPC 2003, but works fine on PocketPC 2000

. I have modified this to be waken up every 80 ms, it fixes most sound glitches, but this may introduce some pending underflow problems.
Smush issue is a bit more subtle - the frame decoding routine takes just a bit longer than in 0.5.1, but it's enough to re-trigger the decoding of the next frame. Meaning that all that Smush does is decoding frames, without drawing them. I'm looking into it right now.