Checked completely for vacuum leaks. Definitely None. Idle air control (IAC) was replaced, no change. No evap purge codes any more. I can smooth it out with a slight throttle plate adjustment but as mentioned, the idle is then too high when warmed up. It is not "learning" on it's own, when I run it like that, it just keeps throwing the "idle higher than expected" code? I have read other threads and they usually don't find their problem or don't come back on with the fix.