Success!
But somehow in all the testing I totally missed that the current sense resistors R10, R12 and R13 (two 2.4 ohm and one 3.3 ohm 2 watt in parallel) at the source of the power MOSFET are all open circuit. I could swear that I checked them but they LOOK perfect so maybe I assumed they were ok because they are not even a bit brown. Assumptions will get you...
Anyway I have the new semiconductors installed and cobbled together some 1 watt carbon film resistors from our local Jaycar store and the charger is up and running. Now I have to wait some more for the correct resistors to arrive from RS. The reason the originals died without burning is that these current sense resistors also act as fuses in the event of a catastrophic failure. They are designed to die without smoking, burning or starting a fire. The replacements I have ordered are Vishay PR02 units and they have "Defined fusing characteristics" and "Meets active and passive flammability requirements".
I'm still running a few tests to make sure everything is working correctly, particularly the dual rate charging and the safety circuits that check for the battery ID, temperature, etc. There is an interesting write up by Reddit user Tool_Scientist here
https://www.reddit.com/r/Dewalt/comments/1ershh9/dewalt_battery_schematic_temp_and_low_voltage/ that provides good information about the inner workings of Dewalt batteries. In particular the ID line controls the allowable charge current for the various sized batteries.
The ID pin on the battery is simply a resistor connected to the battery negative rail. According to Tool_Scientist the allowable charge rates for various ID resistances are:
<110 ohms - Bad, no charge
110-379 ohms - 4.2 amps
380-890 ohms - 7.8 amps
891-928 ohms - 5 amps
929-8250 ohms - 4.1 amps
8.26-9.06 Kohms - no error but no charge
>9.08 Kohms - Bad, no charge
This matches fairly well to the small sample I have seen. I only have one battery, an XR Flexvolt 6Ah N632052 with an ID resistance of 608 ohms, and the DCB118 charger. Looking at the circuit of the charger I can see it will lock out any battery with an ID of less than 111 ohms or greater than 9000 ohms and it will halve the charge rate if ID is less than 374 ohms or greater than 1083 ohms.
I haven't measured the actual charge current yet but I have seen it halve the charge rate as the battery approaches full charge. There is no discrete circuitry to do this, it is managed inside the microcontroller and I'll try to note the voltage it switches the next time I run a charge.