Are you not touching the gas when you start it? It's ok to use the gas pedal some to get it to start. It won't flood.
Ok so the IAC is moving in and out. That is good however there seems to still be a problem.
The IAC when fully extended should still have the engine running at about 500 RPM. There is a throttle stop screw with a cap over it. The problem is that it shouldn't require adjustment. But the key word is should (n't)
One thing with the IAC. If the IAC is extended beyond the normal range, when you screw it into the throttle body you will jam the pintle into the IAC. Then after that the IAC won't work.
To adjust the throttle stop screw - Start the car and let it warm up. If needed take out the IAC and retract the pintle some. Now reinstall it but don't plug it in. The car will start and idle. If you retract it all the way it will idle at 3000 so you don't want to go that far.
Once warmed up, shut off the engine. Take the cap off of the throttle stop screw and turn it in a few turns. Count them if you wish to know where it was to start with but you don't need to. Turning it in a few turns should get you to a spot where the idle is above 500. Reattach the connector to the IAC. Jumper A-B. Turn the key on, but don't start the engine. The ECM will drive the pintle out till it seats. The ECM will still be pulsing the IAC, but once the IAC bottoms out at fully extended it won't move any more. That is a normal thing the ECM does to know where the the pintle is. Wait 20 secs to make sure the pintle is fully extended. Then unplug the IAC and start the engine. You might need to use some throttle depending on how far the screw is screwed in.
Now adjust the idle speed for 500 rpm or the slowest the engine will idle on it's own.
Finally reattach the IAC connector. If you have a check engine light you will need to reset the ECM by disconnecting the battery for 15 seconds.
This should at least keep the engine from dying when the idle is surging slow.
If at times the engine idle speed is below 500 rpm then you don't have a vacuum leak. A vacuum leak will always make the engine run fast on a Fiero. The ECM only looks at the absolute pressure in the intake manifold to calculate the gas so it doesn't matter how the air got in the intake. Throttle blades open, IAC or vacuum leak. The ECM will always inject the proper amount of fuel and thus with this set up you won't go rich/lean from a vacuum leak.
Like I said before if you screw the IAC in with the pintle overextended it will jam the pintle and either wreck the IAC or at least temporary jam it. The same can happen when the IAC is fully retracted tightly by hand. Maybe that's why the idle stuck at 3000 rpm when you fully retracted it by hand.
Otherwise the ECM should be able to move the IAC's pintle. You have observed it moving out (with A-B shorted). The way it works, I suppose it might have problems with the ECM electrically retracting it.
You could check this by starting the engine with the IAC removed and holding it in your hand. Have the IAC plugged in electrically. Hold it so the pintle can't over-extend since if it does that spring will launch it across the garage floor and then it will just happen to fall into your floor drain. It would be best to do this with a glove on since the throttle body has coolant running through it and it gets fairly warm. Start the engine and stick your finger into the IAC hole covering up the output port to the right. When you cover the IAC output hole the engine will run slower and when you uncover it the engine will run faster. While you are doing this the ECM should be trying to adjust the idle speed by extending and retracting the IAC pintle which is now in your other hand. Make sure the ECM can move the pintle both in and out. There is always a possibility that the pintle is jamming in the throttle body hole, but it almost always gets jammed on carbon deposits and you said you have cleaned it.
I think doing the above will give you the direction to figure out what is happening. Let us know what you find.
After the engine is warm, if the IAC can't adjust the idle to the target idle speed after 45 seconds you will get a check engine light. I don't think you will when the engine is cold however. 45 seconds = long red light. That's when mine came up with a too fast idle problem when I had a leaking EGR tube. A leaking EGR tube will never however let the engine idle down so that's not your problem.
|Code 35 - Idle Speed Error|
The ECM will set code 35 when the engine speed is 75 RPM above or below the correct idle with closed throttle. This condition must be met for at least 45 seconds before the code is set. If idle speed is too high, check for vacuum leaks. If idle speed varies up and down, your engine might be running too lean (high air/fuel ratio). Check for low fuel pressure or water in fuel. If idle speed is too low, your engine might be running too rich (low air/fuel ration). Check for high fuel pressure or leaking/sticking injectors. Also, check all connections to the IAC and replace the IAC if necessary.
[This message has been edited by phonedawgz (edited 08-15-2013).]