Why isn't this opamp working correctly?
The problem is evidently that there is some sort of oscillation on the output of the opamp.   Putting a 10uF capacitor on the 'gate' node more or less fixed the problem, but putting a 1K resistor between the opamp output and the fet gate doesn't help much.   I'm now seeing no more than about 7mv discrepancy between 'sense' and 'set', over the whole current adjustment range (now 0 to 300ma) and a voltage (required to drive that current through the load) between about 3 and 23v.