Originally posted by blackrat364
I did some more research, and from a couple example programs that I found, my problem is indeed gimbal lock I don't understand very well what causes the problem, but evidently I can fix it using quaternions. Could someone explain the cause of gimbal lock clearly, or point me to a site which does?

edit: I learned to spell
It has to do with euler angles. Its when you rotate one axis onto another you lose a degree of freedom. There are some good sites that have little applets demonstrating the problem. Get ready for the exciting world of quaternions.