SD,
I've always thought that this was due to part of the idle fuels system bypassing the mixture control, so if it ran rich at idle, these is a chance that suficient fuel can get through the system even when in ICO.
Solution, and it's always worked for me, is to go to ICO from 1200 RPM rather than from idle.
PS