Check the idle dead band, should be +-50. Also 200ms reaction time for the motor is about right.
I find the idle to be alot more stable around 12.0 - 13.0 :1, and I overfuel a bit and use the O2 feedback to correct at idle.
Also, the % vs target should overshoot the idle thru its entire range by about 5%, so the program can then correct down to the desired idle, to prevent undershoots and the potential for stalling. The % target vs base should always be around -5 to 10%.