Quote: "rotate camera cx#,cy#,cz#"
you haven't defined a cx# in that code, so if that's everything, it will never rotate up or down...
rotating on the z-axis is not what I think you want to do... take me standing up on two feet, with arms down by my sides. If I rotated on the z-axis through 90 degress I would be lying flat on my right arm. Is that the rotation you're after in your object?
Assuming it is: mousemovez() works a little different to x and y, the minimum rotation of a mousewheel is +/-120 (well, it is for mine at least) but after it's been read, it doesn't set itself back to zero, so every frame is going to rotate around the z-axis 120 degrees (exactly 1/3 of a circle). if you move the wheel again in the same direction, it will now read 240 and so will rotate 240 degrees around the z-axis. Move the wheel again in the same direction again, and it stops...
No, it's not back at zero, its now +/-360... A perfect circle!
So, how are you going to get round this? best bet, another variable... for example, OldMouseZ. Read mousemovez() and OldMouseZ - if they match, the wheel didn't actually move, it just hasn't been reset. finally, part of you code is to z-rotate the value of mousemovez() - OldMouseZ... if no movement, the difference will be zero, so it just won't rotate, and if it has changed, it only moves once. Finally, after the movement, but before the loop statement OldMouseZ = mousemovez() otherwise OldMouseZ will stay at zero...
Edit: I see Ruccus got in first

- did that really take me 25 minutes to write?