My '99 GMC C3500 C&C DRW utility truck has had similar gauge issues since I bought it two years ago. If I fill both tanks the gauge will read about 1/4" past the full mark, and doesn't hit exactly on full until about 130-140 miles later, at which point the tanks will take about 12 gallons of fuel.
I've also had an intermittent problem with the gauge sometimes dropping to "E" for no apparent reason, and not going back up until the truck is shut down and restarted, and not always then. Mostly this happens when both tanks are full, which lead me to believe that the problem is likely that the sending units are misadjusted (causing the high gauge reading) and that after driving a bit, with the fuel sloshing around, it eventually causes the balance module to either shut down, or the signal from the balance module to the PCM is so far off the scale that the PCM itself shuts down the balance module. That sorta makes sense to me, but I would think that something like that would set a code, and I've never had any code set on the truck so this is strictly speculation on my part.
That latter problem, with the gauge dropping to "E", never really worried me because the gauge was so inaccurate that I just got into the habit of using the trip odometer and fueling up every 300 miles or so, but this past Sunday it became a major PITA and moved to the #1 slot on my "Things To Fix" list.
My wife is currently out of state, working on her master's degree at the Naval Postgraduate School in West Virginia. Since it's only about 150 miles from home I drove up there Sunday to visit and have dinner with her. I had topped the truck off the day before leaving, and shortly after getting on the road the gauge went to "E" and stayed there he whole trip up. With about 37 (I'd done some running around town the day before) gallons in the tanks I didn't even really think about it, just ignored it and kept on driving.
Coming back though it kind of surprised me that the gauge was still on "E". I'd burned off enough fuel on the way up that it should have started working again, but since the trip odometer was showing only 190 miles I again didn't give it much thought, knowing that the truck has a total range on full tanks of about 430 miles.
About 35 miles from home, in the dead of night, I suddenly started getting some bucking and sputtering, and then it just quit on me. Fortunately, I was able to coast it into a gas station that was closed and proceeded to try and diagnose the problem. I'd had a PMD failure on the truck the previous winter, and the symptoms were very similar, so I knew it was a fuel issue. The trip meter was sitting right at about 270 miles, and a little thought at the back of my brain started telling me I had an empty tank and fuel wasn't getting transferred, but I went and checked the PMD connections first, just in case. They were fine, so the next step was to check the filter for a blockage. When I cracked the bleeder open, and got just a little puff of air, that little voice started sounding a lot louder. Sure enough, the filter housing was almost bone dry.
Still believing that the whole problem was a stuck float that was causing the PCM to shut down the balance module I got out my tire club and crawled underneath to give the tanks a couple of whacks. The truck rides rough when empty, so I knew it was probably futile, if the bumps and bounces of driving hadn't jarred the floats down then banging on the tanks with a stick wasn't gonna have much effect, but it felt good to whack something at that point. Nope, no luck. The gauge was still on "E" and would crank but not start, but I had confirmed that the front tank was empty, and the rear was pretty full.
Letting it sit for awhile while I took a walk around and had a smoke seemed like a reasonable idea at that point so that's what I did. Getting back to the truck I decided to give it one more try, then see if I could figure out a way to manually transfer fuel to the front tank. Lo' and behold, when I cranked it the gauge came up to just under 1/2 and a couple seconds later it fired right up. I knew I was only about 3 miles from the next place I could get diesel that time of night, so I wasted no time getting it in gear and back on the road, but as soon as I got out of the driveway the gauge went back to "E" again, and less than a half mile later it died again. By then I was up to 55mph though, and had just topped a hill, so I put it in neutral and tried cycling the key a couple of times to see if the gauge came back up. No luck with that, but when I coasted to a stop on the shoulder at the bottom of the hill I was directly across the highway from a 24hr truck stop with diesel. Perfect! I keep a 5 gallon fuel can (empty) in one of the side boxes on the truck, so I figured I'd just walk across with the can, get a few gallons to put in the front tank, start it up and then pull a U-turn down the road and pull in to fill up. The first problem with that idea was that, even though it was pretty late at night, this four lane road (two each direction) was pretty heavily traveled. Even with the truck sitting there lit up like God's own Christmas tree (it's equipped with front and rear light bars, arrowstick, and multiple high intensity strobes), and me in my self-illuminating Class III safety vest, crossing the road was going to be hazardous, especially coming back and lugging the full can. I caught a break in traffic though, so I crossed to the divider, where I found my next hurdle... a very deep ditch running down the center of the median strip, with steep banks on both sides. I'd done some serious damage to my left knee a couple of years back, and there was no way I could cross that ditch... back to the truck and move on to idea #2.
Idea #2 was to get out the siphon I keep in the truck, siphon fuel into the can then pour it into the front tank. Which probably would have worked quite well, if I'd actually returned the siphon to the truck after using it to transfer kerosene into my garage heater last winter. It was still hanging up on the hook in the garage at home. Okay, what hose on the truck can I remove, use as a siphon, then reinstall? Couldn't find a single one that would work. Time for plan #3.
Plan #3 was me trying to attract the attention of one of the truckers sitting across the highway in the truck stop. Now, this plan should have been darn near foolproof. The truck had enough lights to be seen by the International Space Station up on orbit, I had on the previously mentioned Class III illuminated safety vest, and the truck is equipped with both a very good CB and a 2 meter ham radio, and I had another ham radio (2 meter and 70cm) on my belt. Nope, no luck at all. No one saw me waving that I could tell, the CB was dead quiet on both 19 and 9, and the only station I could reach with the ham gear was two states away. Sigh...
So, moving on to plan #4, I got out my cell phone and attempted to call AAA. I know they will deliver gasoline but not diesel, but I figured that whoever they sent out would have a siphon hose, or at least be willing to give me a lift to the other side of the road and back with my can. And, of course, I was in a cell dead spot. No bars, not even a flicker of a bar. Time for plan #5...
Plan #5 was real simple... Get in the truck, cycle the ignition a few times, try cranking a bit, and pray real hard.
Plan #5 also actually worked! After about the fifth or sixth cycling of the key the gauge came up to just below 1/2 again, and I was able to start the truck a few moments later. I let it sit there and idle a bit, with the gauge still reading 1/2, then got it back on the road and over to the station to fill up. $70 later, the front tank had taken 18.5 gallons, and the rear had taken about 4 gallons. The gauge was back up to 1/4" past "F" and it stayed right there the rest of the way home. Indeed, the gauge has not dropped to "E" since then.
The next day, Monday, the very first thing I did was go out and buy a siphon hose for the truck that's actually long enough to allow me to siphon directly from the rear tank to the front, or just to the can if that doesn't work. That night I also printed out all the fuel system wiring diagrams for the truck to see if I could figure out the failure point (ignition switch, connector, etc.) and, while that let me eliminate a few things, like the ignition switch (same terminal on the switch also controls the turn signals, etc, which work fine) the only two points of failure I can see are the common ground point and the PCM. At that point I also did a Google search for more info, which is how I found this this thread and this forum, so I signed up and here I am.
Now, reading through this thread has given me some diagnostic procedures to try, and I have a good idea of what others have found and tried, so that will save me some time and trouble as I continue to troubleshoot this. And, of course, I plan to share my results with the rest of you, especially if I do locate the actual cause. One thing I especially want to look at is the data signals on that line from the balance module to the PCM. It's supposed to be a variable amplitude square wave, so I plan to borrow a scope from a ham buddy in the near future and take a close look at that signal to see if it really is a square wave, or if some component might be failing and causing the wave to change shape, possibly to a sine wave, thus "confusing" the PCM, or see if anything might be causing interference or noise on that signal.