Thanks guys, it seems that my sender is bollocksed.
Cleaned both terminals and that fixed the light, but made no difference to the gauge.
I earthed the cable and the gauge went to 0, so I put the polarity tester on and found that the sender terminal for the gauge doesn't earth, even if I stick the probe right in the centre.
Now to find a replacement.