First, test the bot in shadows and see what happens . . . it might not be a problem.
Now, there are two auto adjusts:
auto-whitening - this controls the brightness of the image
auto-contrast - this improves the difference between colors based on thresholding
As you mention, this auto changing will affect your calibration on which color to track . . .
What you want to do if you expect shadows is to operate in YUV space (not RGB space). YUV has green, blue, and brightness as the pixel values. Shadows in theory will only affect the brightness, so you can just ignore that value.
Look at the chart at the top right here:
http://en.wikipedia.org/wiki/YUVIf V is above 0 and U is below 0, then your camera is tracking red.
That page also has an RGB to YUV space converter equation if the CMU cam doesn't have YUV (I'm sure it does but I'm too lazy to look up the datasheet).
Another option is to write a clever program that can detect shadows and then choose another threshold value(s) for red.