If I don't reset the pitch/yaw/roll I can do that, but I still got the same problem: the camera rotates about the world axis, not about it's own axis.
If I pitch the camera by 90 degrees and then yaw it, the camera seems to roll, because it's still rotating about the world y-axis, not the local y-axis.

Maybe I should make a little test program to demonstrate the problem I have.

EDIT: Here's some screenshots from a test program.

Here's the camera's default orientation, facing along the Z-axis:
Camera1

Now I rotate it 90 degrees about the X-axis (pitch):
Camera2

Next I rotate it 90 degrees about the Y-axis (yaw), but this is wrong. I'd expect the camera to face along the X-axis:
Camera3

This is how I'd want it to look like after the X - Y rotations:
Camera4

How can I achieve this?