Well, I made some progress today. Tried swapping channels on the Ignitech box but the problem stsyed with the middle cylinder, which confirms that both channels of the ignition box are working (so you'll have to eat your words Rocket

). I'd already eliminaed the coil as a problem, so the only possibility left was a dodgy (Sachse) pickup.
I didn't know how to check the operation of the Hall pickups, but figured they must produce some kind of voltage. So I poked my voltmeter probe at the pickup wires where they plug into the ignitech box. The working pickup produced around 0.6V when the engine wasn't runing and about 3V with the engine running. The other one showed zero. Aha!
The wire between the ignition unit and pickup board had continuity all the way back to the pickup board, but there was no electrical continuity between wire and the solder joint on the board itself (was jabbing through the insulation with a pin connected to the meter probe). Figured it must be a dry solder joint, so I scraped off the black silicone muck (looks like Sikaflex) that coats the wire junction and re-soldered it. I now have sparks on all cylinders!
Test ride was disappointing though. Bike now pulls like a train at low revs but pops, farts and misfires, and still won't rev out. It now surges and cuts out like someone flicking the kill switch off-on-off-on at about 1 second frequency. Still won't get past 5,000 but it's a totally different failure mode to what it was before.
So it seems I've fixed one problem only to reveal a different one. Bloody old bikes eh? :
I've had enough for today so I'll tackle the new problem tomorrow. Will re-check the ignition timing, balance the carbs again, and treat it to a new set of plugs.