So, that solution to the quicksand I stumbled upon wasn't a solution at all. It looked like it fixed the problem but the character was actually just bouncing a tiny bit. I knew the problem was still there because I could still push the character through walls.
I think at this point it is fair to say that my physics engine is broken. I don't know if it is worth the effort to go back and fix the entire engine. I've been thinking about using Unity instead. They've promised support for GNU/Linux with Unity 4. I assume this will include an editor too.
I've been wanting to learn C++ anyway and I don't want to give up on Kromapoka just because I made some mistakes in my physics engine that I can't find.
A friend of mine recently told me that I should be a lazier programmer. I realized that I should stand on the shoulders of giants instead of trying to right every line of code myself. The people that make these engines are much better than me and are asking coders to use their engine.
I just have to wait for unity 4. I will not boot into windows to code. That just seems so backwards to me.
EDIT: Just found out that the port is only for the publisher. Maybe Wine will have to do. Also, my comment about C++ might be incorrect. I think it's C#. O well, pretty close anyway.