I had a similar problem. It turned out the sending unit was grounding out on the gas tank. I discovered this by accident when I loosened the screws holding the sending unit and it started working correctly. It's been a few years, so I don't remember exactly how I fixed it, but basically just move the sending unit around to ensure it's not grounding out. There's enough "slop" in the screws to allow it to touch the tank when tightened down securely.