I had run into a problem with my '85 GT at one time and it drove me nuts! Yet the solution was so simple. My experience with the Pontiac Fiero was still limited and money was tight so of course I grabbed the manual and started checking codes. Needless to say it took me on a wild goose chase and countless dollars spent on items I didn't need. So I thought I'd share this 'tid bit' with you and maybe save you some heart ache.
The symptom was that the idle would keep fluctuating up to as much as 2500 rpm. It made the drive ability take a nose dive especially with it being stick shift. I was getting 2 engine codes. One was for the EGR valve and one for the throttle position sensor. Both codes were bogus and truly had nothing to do with the problem. In a round about sense these codes popped up because these items couldn't correct the true problem. I replaced the EGR and of course the old one looked fine and seemed to function but why take the chance. The problem persisted so I went to the TPS (throttle position sensor) and here again the problem was still there and was getting worse. Finally I threw in the towel and took it to a shop and gave them the symptoms and codes. To my surprise the fix was simple although not easily replaced. Due to the layout of the 2.8L V6 in the Fiero, Pontiac used an EGR crossover pipe that the EGR gets mounted to. This pipe had a hairline crack in it. As the car ran, the heat and vibration would change how much air flowed into this crack. The CPU would try to compensate with the EGR and fail so the EGR code would pop up. The TPS code came from the fact that the idle kept changing with out the TPS ever moving.
The part would have cost less then the preveous 2 parts and the labor to install would have been about as long as it took to replace the other 2 parts. So although the manual comes in handy and engine codes are helpful, they both can be misleading. If only back in those days I had some internet action like today, I may have been able to throw the question out there and found my solution sooner. Troubleshooting has been made much easier these days with the help of the internet. Get online in a forum and ask your question. Hopefully someone out there has experienced the same problem and has the solution. Hope this helps you out and saves someone some time in the future.