I don't understand why the colors are changing. Shouldn't the doppler effect not apply if the speed of light is the same for all observers?
You can also think about it being one of these "zero (weight of a photon at rest) multiplied by infinity (energy of objects moving at c) gives a finite number (actual energy of a photon)". The last number still behaves nicely.