Thanks Bill ... that's an interesting paper. I can't pretend to have understood all aspects, but my short summary is:
If the reversal error is due to thermoelectric effects then this will be effectively nulled out by the averaging process, but any other cause, most significantly the metal used in the heater and the positioning of the hot junction, will cause a transfer error ... so I'm somewhat confused as to how the latter two can change over time, or through abuse of the thermocouple?
Through a bit more tinkering I have discovered that the polarity switch is a bit questionable ... measuring voltage at the shunt terminal when applying a DC voltage as normal (or just resistance when not) I can see a very repeatable reading when the switch is pressed in, however when switching it 'out' there's quite a lot of variation each time and I can cause a reasonable movement just by wiggling the button. I've tried cleaning it, and it's better, but still not right.
I don't believe it's responsible for the whole error, but it's certainly contributing ... I can easily see a 20uV delta on the 0.45v reading just by wiggling, so I'm now not really comfortable believing the numbers until I sort that out ... even if it were consistent a difference in resistance between the two sets of contacts would manifest itself as a reversal error.
Not sure how I'm going to fix it though ... I don't think I can replace the switch with a simple DPDT, it seems to run through an intermediate state when a 100R resistor is across the input, presumably not to leave it open circuit at any point.
EDIT: Potentially a make-before-break rotary switch with three positions might do the job ... I think I'll spend some more time cleaning before I resort to this though.