I found these posts on Pelican Parts forums describing the gauge and function. Hopefully your problem is just dirty connections....
Post 1
It's reasonably accurate, but a lot of people don't understand how it works.
The gauge gets a signal based off of two readings: the injector duty cycle and the speedometer signal.
Below a certain speed (I think about 10 MPH), the gauge reads gallons per hour (the light grey scale that can be difficult to see). Only above that speed does it read in miles per gallon. A lot of people think that the gauge is broken because they don't see the second gallons per hour scale and think the gauge is reading something like 40 MPG at idle, when the gauge is actually reading 0.5 gallons per hour (the light grey scale).
On early cars (and the 924S), the gauge gets its speed signal from a hall-effect sensor on the speedometer itself. Failure of the hall-effect sensor will cause the MPG gauge to read in gallons/hour all the time because it will think the car isn't moving and so will stay in gallons/hour mode.
Basically, it's essentially as accurate as the digital mpg gauges in more modern cars, which is to say close enough for most purposes.
__________________
Post 2
Part of the MPG gauge's information comes from a hall-effect sensor in the speedometer (at least for the early models that still have a cable-driven speedometer, in later cars the speed signal comes from the transaxle output shaft speed sensor). Usually when the MPG gauge starts doing weird things in earlier cars, the problem is in the speedometer somewhere.
Of note, the MPG gauge displays in gallons per hour below a certain speed (IIRC below 9 mph) and if it for some reason isn't receiving a speed input, it will always read in GPH rather than MPG. I believe that it pegs out at 2 GPH (the light grey scale, not the white mpg scale), which means that if you're getting 30 mpg at 60 mph, it should be pegged at 2 GPH.
My guess is that, for whatever reason, the MPG gauge in the OP's car is not receiving a speed signal from the speedometer and is therefore sticking in GPH mode.
__________________