If the LEDs weren't changing you would get the same reading for all three. Perhaps the LEDs are changing faster than you can see. I know that doesn't explain why the RED reading doesn't seem responsive. You could try doing the sensing manually to slow things down to see if the R, G and B LEDs all work:
serout.print("= (00 $ R p14 s G p14 s B p14 s) !"); // Loop print values, see ColorPAL documentation
The "p14" means pause for about 100 mS (0x14 = 20 * 5 = 100). This should give you time to see the LEDs blinking.
Each 's' prints out the 3-hex-digit value. To get the same values as 'm' you should print out the ambient intensity (color X) and subtract that from the other three readings:
serout.print("= (00 $ X p14 s R p14 s G p14 s B p14 s) !"); // Loop print values, see ColorPAL documentation