Have you replaced the oxygen sensor on it lately? I've got some friends with these in hot rods and they started getting horrid mileage and another guy mentioned that dirty oxygen sensors will cause this. He said they still read but not accurately and it'll cause the computer to compensate and run it rich but not overly rich to flag for codes. They changed theirs and got back to good mileage again. Just a thought.