Finally fixed this non-vanilla bug. Steps to reproduce:
1. Move Keen near the top of a pole, where something can push him (say ampton or korath).
2. Use the "up" key to climb to the very top of the pole. Don't press on "down" or leave the pole.
3. Let Keen get pushed out of the pole by anything.
4. If done correctly, Keen should stand on a floor, with ck_keenObj.yDirection == -1.
5. Ensure this is still the case by not climbing on another pole.
6. Let Keen stand on a platform/goplat.
At this point, Keen would begin to shake, probably since ck_nextY was still a negative value.