It seems to work? You are using FFFFFF which is the color white (and the 'highest' color, if there is such a thing) you get a number with hex thats beyond the limits of the color charts.
test it with AAAAAA and see what you get...
Alternatly you could try a different approach eg split up the color string into the respective colors, so that you can change the value for the 3 base colors instead.
eg.
$r = hexdec(substr($color, 0, 2));
$g = hexdec(substr($color, 2, 2));
$b = hexdec(substr($color, 4, 2));
or something like that, and then add a value to a given base color.
hth