If there's one thing that's for certain, it's that the FIAV has a limited life. It's job is to allow additional air to bypass the throttle when the engine is cold, then slowly shut as the engine reaches operating temp (180*). It's a mechanical ball of wax, quite literally, and it doesn't last forever. It loses its ability to close the air passage and you get a high idle.
When too much air gets by, the idle wants to go too high. While the throttle plate is closed, the ECU stops the high idle by cutting timing to cause a drop in idle. But, the air passage is still open and the idle jumps back up. The cycle then repeats.
The ISC can cause a similar effect if its motor is dieing and leaves the air passage open.
Technically, the FIAC and ISC are non-essential and you can get by fine without either by using a blockoff plate like
this one from JM Fabrications. The downside is you lose the benefit of the ISC. This keeps your idle smooth in varying weather conditions and during driving. For example, if you free rev the engine then let off the gas, the ISC will 'catch' the idle at ~1200rpm, then slowly bring it down to normal idle, thus preventing an accidental engine stall.
I solved the FIAV problem by installing a
blockoff plate that allows me to keep my ISC. After doing this, I found that once warmed up, I stay at a normal, steady idle.
However, it seems the ISC does also have a function for increased cold idle. My car idles around 1200rpm when cold and drops to normal idle when at operating temp.