I simulated the circuit on LTSpice and it works just fine. The silicon diode drop isn't that much.
So have I. The silicon diode voltage drop, is still enough to bias Q1 into conduction, causing the red LED to dimly light. Removing R5 helps and using Schottky diodes for D1 and D2 eliminates the problem. Another option is to use a P-MOSFET for Q1, such as the BS250.
Hmmm. Depends on what voltage you supply. Even with 5V and 220 ohm current limiting resistors I still get at least 8 mA through all 3 LEDs. The one driven by the transistor is slightly less - 8.15 mA vs 8.76 mA for the others. I doubt some one would see the difference if they were the same LEDs. Since they aren't and different different limiting resistor values would be used, it's complete a non-issue.
I think you've misunderstood. The issue, with the schematic your posted, is not about the LEDs drawing different currents, but with the diode biasing Q1 on, causing the red LED to be on, when it shouldn't be.
The voltage drop across R5 adds to D1's forward voltage, making the situation worse. Removing it helps, but D2 still won't turn off completely. If you don't have a Schottky diodes, adding another diode, in series with Q1's base will also solve the problem.
This sort of thing isn't easy to simulate because real life components often differ from the models. If the D1's diode forward voltage is higher or Q1's V
BE lower, then more current will flow through the LED, than SPICE would predict. The temperature will also also make a difference. As Q1 heats up, its V
BE will fall, causing it to turn on more, with SPICE won't see, unless you have a program which includes accurate thermal models.