Are you suure? I'm no programmer, but looking at Mike Pitts disassembly, which I know is arguably correct:
At $0003 Set bit 0 for AC req
At $00BA Set bit 0 for CLutch delay active
At $00BA Set bit 7 for PS or AC comp
At $00FF store IAC steps for AC comp
At $E78F Store 255 as IAC counts if BLM is out of range (dont really understand that one)
At $E78F If bit clear, anticipate AC on, use IAC steps in lookup ($36AA)
At $E960 If AC on, check idle, adjust to offset with AC on
I forget the address, if idle in deadband, set A=0 (??)
At $EA3C # of PID cycles before enable AC on learn mode.
At $EA4E restore Acc B
At EB05 Set min IAC steps for AC (5)
Couple other spots...but heres another code snippet:
***********
*** A/C_On:
F0D5: C4 DF ANDB #$DF Clear Raise Idle for Extra Load /0120
F0D7: 20 03 BRA $F0DC goto $F0DC
*** A/C_Off:
F0D9: 4F CLRA A = 0
F0DA: CA 20 ORAB #$20 Set Raise Idle for Extra Load /0120
**************
<snip>
********
F118: E6 47 LDAB $0047,X B = Idle Speed A/C Compensation Max # of Steps (=80 Steps)) (E=N)
F11A: 11 CBA if (B <= A)
F11B: 23 01 BLS $F11E goto $F11E
F11D: 17 TBA A = B
F11E: E6 48 LDAB $0048,X B = Idle Speed A/C Compensation Min # of Steps (=5 Steps) (E=N)
F120: 11 CBA if (B > A)
F121: 22 01 BHI $F124 goto $F124
F123: 17 TBA A = B
F124: 16 TAB B = A
F125: 90 FF SUBA $FF A -= $FF
F127: D7 FF STAB $FF $FF = B
F129: D6 BB LDAB $BB B = $BB
F12B: 2A 0B BPL $F138 if (P/N Switch is off) /BB80
goto $F138
F12D: E6 45 LDAB $0045,X B = Idle Speed Throttle Follower Park/Neutral Scalar (=.69 Steps)
F12F: 4D TSTA if (A >= 0)
F130: 2A 05 BPL $F137 goto $F137
F132: 40 NEGA A = -A
F133: 3D MUL D = A * B
F134: 40 NEGA A = -A
F135: 20 01 BRA $F138 goto $F138
F137: 3D MUL D = A * B
F138: 9B C2 ADDA $C2 A += $C2
F13A: 97 C2 STAA $C2 $C2 = A
F13C: 32 PULA restore A from stack
F13D: 84 7F ANDA #$7F Clear PS Anticipate or A/C /BA80
F13F: 9A 41 ORAA $41 A |= $41 /BAxx
**********
Looks for AC req, then raises IAC amount of steps specified in lookup, waits a couple secs before going back into learn mode, my guess is so BLM doesnt change needlessly and cause a rolling idle, or such.
So, unless I'm missing something..which I really could be as I didnt REALLLLY look hard, and hell, I barely know what I'm looking at, it appears the only thing happens is IAC is raised a spec amount..(spec'd in the prom), then theres a delay before the ECM goes back to learn mode. My guess is the timer is there so let load even out before going back into learn mode. This would get away from the rolling idle that Ford 5.0's do when you turn the AC on.
BUT: If the IAC is raised, MAF goes up, and load/RPM then changes so timing changes. You said yourself your car idles smoother with more timing...well...looks like thats exactly whats happening. The idle is going up, the load is going up, and fuel/timing is read from a higher load area
If I am wrong, and I very well could be, please explain what you see so *I* can understand what you're getting at.