Alright, I got it. This is a little counterintuitive, so try to stick with me here, as I'm sure I won't be the only one to run into this problem.
So when the camera is translated the target is the point the camera is looking at in the absolute coordinates of the scene. The up direction, however, is the direction the top of the camera is pointing in relative to the camera. To complicate things more, the camera can be thought of as having its own coordinate axes apart from the scene axes, as is ture of every other OpenGL object, which is what the up direction vector uses, but these axes do not rotate with the camera, which is what happens with every other OpenGL object.
On a related note, you can get the most amount of control from the camera by making the target a unit vector that moves with the camera, so the camera is always focused a distance of one in front of itself. As an example check out the following setup:
If the camera is at the following location:
10,10,10
and it is rotated in pi/2 radians around X axis. The target (using the above unit vector method) will be:
10,11,10
But the up direction will be:
0,0,1
The moral of the story is: Don't think of the target and up direction as two vectors 90 degrees out from each other with their tails at the same point in the same coordinate system.
Hope this helps.
~Jo-Jo