It's probably because your fuel tank is not earthed. They are just clamped between the floorpan and the straps, and when dirt and dust gets in betweeen the tank and the floor, the earth resistance gets high, and your gauge reads low. If you have access to a multimeter, check teh resistance from tank to car body. It should be very low, eg a couple of ohms at the most. Fuel sender unit should be around 10 ohms at full, and 73 ohms at empty.
Two things to do which should help.
(1) Rip the dash out and run an earth wire from the tin regulator on the back of the dash to one of the 5/16 bolts on the steering column bracket (not one of the larger breakaway capsule bolts - that's naughty), or another nearby good earth. This will help all of your instruments work better. The instrument cluster only has one common pissy little earth wire, and one small earth screw up to the left of the headlight switch. Neither are big enough to handle all the loads on the instruments, especially when the park lights get turned on.
and then
(2) jack the back of the car up, get yourself a bit of wire and one or two small hose clamps. Put one hose clamp around the metal fuel line where it comes out of the tank, and tighten it over one end of the wire so that teh wire makes good contact with the bare fuel line. Attach the other end of the wire to a good earth (eg tek screw through the floor, or something similar).
That should make your fuel gauge work OK, or at least better.
Mick, it's unlikely to be the regulator. They mostly fail in short circuit, which makes all teh gauges read high, and eventually cooks the gauges. They can short in open circuit, which means none of the three temp, oil, fuel gauges works at all - but this is rare. I've never seen one that has a fault which causes a low voltage output, and if it did, it would affect all three gauges.
Edited by Dangerous, 30 August 2007 - 01:34 PM.