The voltage within the circuit is controlled by the Vf of the LEDs. This means that your maximum voltage is the first place the dynamo can sink all 500ma it can provide*, and in your case its the red LEDs** . I've had the same issue before; as soon as the potential difference of the dynamo gets to about 2V, the red LEDS light up and sink 500ma current. There dynamo never gets to the voltage that would light the white LEDs (the max Vf of most red LEDs is at the barest threshold of where white LEDs start to glow). What I had to do was to put a 2-Ohm resistor in series with the red LEDs to bring their effective voltage up to that of the white LEDs.
The size resistor you will need will be determined by the difference in voltage between the white and red LED groups at the maximum drive current (500ma). You will need a multimeter and power supply for this. Basically, (Vwhite-Vred) = Current * Resistance. If you divide (Vw-Vr) by .5 (aka multiply by two), you will get the proper resistance with which to balance the reds and the whites. The other option is to get (order from Digi-Key) a 10 Ohm, 5 Watt (minimum) potentiometer and use it as a variable resistor to determine the right value by trial and error.
*(Pardon my terrible use of terminology. I am not an electrical engineer and have only the barest theoretical knowledge)
**(which are XP-Es, there's no such thing as a red XP-G. This is important when discussing max current. An XP-G has a maximum current of 1.5A. A colored XP-E is half of that)