Sounds like the IAC is working. Something is causing the engine RPM to drop and the ECM catches it (via the IAC) and invariable overshoots so it goes too high. The IAC can't respond very fast so over a large RPM swing. The IAC tends to overshoot.
So, what's causing the engine RPM to sag off.............hmmmmmm
Have you tried pluging every vacuum line except the MAP line and seeing if the idle stablizes? Also, check the idle tube that goes down to the lower intake for a crack or leak. Then block off the EGR tube.
Eventually something will make it stablize. The amount of RPM swing you are getting doesn't sound like fuel or spark variations but you could short ALDL A and B together to force the engine to a fixed 10 degrees and 1000 RPM and then see if the idle stablizes.
Terry
[This message has been edited by TK (edited 12-27-2002).]