So I took almost all of the bumper fittings out and removed the nearside headlight again to replace the ballast. I left the two 8mm screws in on the offside - there's enough flex in the bumper to not have to fight the plastic fittings at each side of the car.
There aren't a lot of pictures that I could find so here is the story starting with the location of the ballast:
I never found a good picture of the inside of the lamp unit, showing the igniter. So here's my attempt! To get the igniter out, release the wire from the side opposite the black cable, and that retaining wire allows the black cable - which seems highly unconvincing as a connection, it feels awfully loose - to fall free. Once done, rotate the igniter a few degrees like you are unscrewing it and out it pops. (The bulb has a pair of wire retainers that need unclipping if you want to take it out as well).
Where the headlamp used to be shows the cooling slot for the ballast. Presumably it's also a water/salt intake too:
The new ballast is a generic Hella part number 5DV 008 290, bought from a Mercedes stockist in the UK for £70 (US$102 at today's rate). It seems slightly healthier in appearance than the ten year old predecessor:
The new ballast fixed the problem with the headlamps. So I wanted to take a closer look at the failure mode. As only one of the T9 case screws came out easily, it was time to unleash the angle grinder to take the heads off the other three and prise the case open - which took some effort. The failure mode is self-evident:
Now this, in my mind, is to some degree a classic BMW problem of mixed metals - the Aluminium/Aluminum (delete as applicable) ballast case and the steel retaining screws will encourage corrosion. Add in some salt and moisture, from UK winters, and this will corrode enough to produce salt that will press through the red seal inside the case. That corrosion has in this case spread to the circuit board which is bonded (presumably for thermal reasons) onto the bottom of the ballast case, and it has bridged across enough to influence the performance of edge components, this is the worst affected:
I'm pretty impressed that this ballast even worked, albeit for a couple of minutes at a time!
Job done - thanks for your patience and apologies again for the heavy imagery in this response.