The dropping in rpm is common.
The problem I see is when the RPM's stay high. Either a vacuum leak or a sticking throttle is doing it. My vote is sticking throttle not closing all the way. Yep until it idles high for long enough the ECM dosen't throw the code.
If the CTS (NOT the gauge sender) reads that the engine is cold it will keep the RPM's up and the mixture richer. A hotter thermostat will get you better mileage.
No your jumper cable isn't really a good test. You should add 1 or 2 battery sized cables from the engine to the frame and call it good. You can buy ground cables at the parts store. The reason for more than one is in case you get rust or corrosion. Make sure you have good metal to metal contact. The problem with bad grounding engine to frame is that the electrical draw of the car's body mounted accessories will cause a change in the ground potential between the engine and ECM. The ECM will then adjust the engine as to what it percieves as changed voltages on the engine sensors. If you engine idle or gauges vairies with your fan or turn signals your ground is not doing it's job properly. Bad grounding causes a bouncing idle mostly, not a high idle.
Correct - Scanner. Move the throttle slowly since the scanner doesn't respond that quickly. Using the volt meter is a better test since the response is quicker. A smooth increase in voltage with no drop outs.
Starting with a cold engine look at the MAT aka the IAT for intake air temp. Look at the CTS temp and make sure that it looks correct as the engine warms.
While you have your scanner attached verify the MAP sensor is looking like it should.
Your scanner should be able to tell you if the throttle is hanging up slightly at times when you get the fast idle.
Finally try reading the voltages of either the MAP or TPS using the two outside pins. You should get 5V doing it. Then move the black to the engine ground and see if it varies much. Rev the engine, turn on the flashers and make sure the sensor voltages aren't following the body's electrical load.
Most ECM sensors use a seperate ground lead to try to prevent the ground differences in causing trouble. The O2 sensor however uses a single lead and engine ground for return. The engine is using the O2 sensor to determine fuel air mix whenever the engine is in closed loop mode.
[This message has been edited by phonedawgz (edited 10-06-2010).]