Warning to users of some vendors LCD keypad shields

nicw,
What happened to your original post? Looks like it is gone.
Originally you said that your shield was the same circuit and
D10 was not part of the backlight circuit on your shield. Both can't be true.

All I can say is the problem is very real and multiple people have
seen and measured the excessive current draw on the pin.
If you are not seeing the high current draw, then your backlight circuit is not like
the circuit that I showed or you are not testing the same conditions.

Did you run the sketch that will test the shield for the issue?

The image you posted looks similar to the I/O Pin Equivalent Schematic
in the mega328 documentation. The resistor in that diagram is the pullup resistor
and has nothing to do with the issue and will not be limiting the current when
the pin is driven high.

Again the problem is when the Arduino D10 pin is driven high, not when the pin is driven
low or when the pin is in input mode(with/without pullup enabled).

Using a NMOS FET would be a drop in fix for the problem since FETs don't draw current on the gate
the way a transistor does going into the base.
But if I were going to fix the circuit, I'd look at alternatives that use
just resistors which are cheaper than the cost differential
between the existing NPN transistor vs a FET.
i.e. why use a FET to fix the broken circuit when you could just re-design
the circuit using a traditional transistor and an extra resistor?

--- bill