I gave the preempt-kernel patch another shot today. This time it seems to be working properly on my system. I also posted a combined "meta-patch" against 2.4.17 vanilla of all the junk I've got in my kernel; you can check it out here.
I gave up on WinCE and installed Familiar Linux on my iPaq. It's not fully functional yet, but so far it looks promising. Any distribution that comes with Ruby in it's base distribution is okay in my book. On a side note, I should mention that the people in #handhelds.org (OpenProjects IRC)have been incredibly helpful; I would probably still be trying to connect to my iPaq in Linux if it weren't for their help.