The PCM learns 'new' parts at initialization. When you replace a part, you MUST reset the pcm, so it 'forgets' the old parts.... otherwise, it has no clue that anything has changed, and will continue to try and run the engine off of the old data. That doesn't always work out real well.
Your idle dropping that far almost immediately isn't quite right. It shouldn't really do that... I don't think changing the IAC will make a difference either, as it just responds to PCM signals for what it should be doing. I would be interested in seeing just what the PCM thinks is going on at initial startup...... wonder if it is getting some wrong data somewhere. (coolant temp, or engine RPM....)