Sorry to resurrect this, just thought I'd post my progress so far.
Changed the ISV for the one I had replaced it with, and no change.
The garage reset the CO/Idle after I fixed some air leaks on the inlet and exhaust. No change (though CO needs setting again as it's running lean now)
All wiring on the side of the head seems okay
I notice that the idle improves slightly when I turn the dash lights down, and picks up when I turn them up again. There is a mass of dodgy wiring behind the dash (retrofitted electric windows with 'custom' loom

) so I would bet on an issue with the ISV controller, or the wiring (maybe it's sharing an earth with the dash lights or something else on that circuit?)