Those codes, will not light the MIL until the second time, they are both considered GM B codes in the sense that they do not affect emmissions right away like an o2 sensor would which is a A code. To properly diagnose these codes, you will need a BI scanner in order to control the IAC valve. It sounds like you have done the right things.
Conditions For Running the DTC
DTCs P0101, P0102, P0103, P0106, P0107, P0108, P0112, P0113, P0117, P0118, P0121, P0122, P0123, P0125, P0201, P0202, P0203, P0204, P0205, P0206, P0207, P0208, P0335, P0336, P0340, P0341, P0385, P0386, P0401, P0403, P0404, P0405, P0440, P0442, P0443, P0446, P0449, P1106, P1107, P1111, P1112, P1114, P1115, P1121, P1122, P1336, P1372, P1404, or P1441 are not set.
The engine coolant temperature (ECT) is greater than -40°C (-40°F).
The intake air temperature (IAT) is greater than -18°C (-1°F).
The ignition voltage is between 10.5-16 volts.
The barometric pressure (BARO) is greater than 6 kPa.
The engine run time greater than 40 seconds.
The transmission gear state has not changed for 3 seconds.
The torque converter clutch (TCC) state has not changed in 3 seconds.
The TPS less than 1.5 percent.
The spark advance is less than 12.39 degrees.
The spark retard is greater than -13.79°.
The vehicle speed sensor (VSS) is less than 3 km/h (1.9 mph).
The above conditions are present for 3 seconds.
Conditions for Setting the DTC
The actual engine speed is 100 RPM less than the desired engine speed.
The above enabling criteria must be met and fail the diagnostic 3 consecutive times to set this DTC.
Action Taken When the DTC Sets
The control module illuminates the malfunction indicator lamp (MIL) on the second consecutive ignition cycle that the diagnostic runs and fails.
The control module records the operating conditions at the time the diagnostic fails. The first time the diagnostic fails, the control module stores this information in the Failure Records. If the diagnostic reports a failure on the second consecutive ignition cycle, the control module records the operating conditions at the time of the failure. The control module writes the operating conditions to the Freeze Frame and updates the Failure Records.
Conditions for Clearing the MIL/DTC
The control module turns OFF the malfunction indicator lamp (MIL) after 3 consecutive ignition cycles that the diagnostic runs and does not fail.
A current DTC, Last Test Failed, clears when the diagnostic runs and passes.
A history DTC clears after 40 consecutive warm-up cycles, if no failures are reported by this or any other emission related diagnostic.
Clear the MIL and the DTC with a scan tool.
Diagnostic Aids
Inspect for the following conditions:
A restricted air intake system
Proper operation and installation of all air intake components, for example, collapsed, clogged, or loose air intake ducts, a clogged air filter, and proper operation of the mass air flow (MAF) sensor, if equipped
A tampered with or damaged throttle stop screw
A tampered with or damaged throttle plate, throttle shaft, or throttle linkage
Objects blocking the IAC passage or throttle bore
Excessive deposits in the IAC passage or on the IAC pintle
Excessive deposits in the throttle bore or on the throttle plate
Vacuum leaks
A low or unstable idle condition could be caused by a non-IAC system problem that cannot be overcome by the IAC valve. Refer to Symptoms - Engine Controls .
If the problem is determined to be intermittent, refer to Intermittent Conditions in Symptoms.