The problem could still just be the IAC or the idle air bypass if so equipped. The engine would be more prone to missing at low RPM.
Use an inductive timing light to see if the same cylinder always misses, or if it's random.
Check engine vacuum at a steady normal idle speed for diagnosis. A steady 17-20 in. HG reading is normal.
If the system is in closed loop and the ECT, IAT, TPS and mixture look normal I would check these other things.
Check for exhaust backpressure by fitting a low pressure gage to the upstream DPFE port. Should stay under 3 PSI if the CATs are not clogged. This usually causes a loss of power at higher RPMs.
PCV system should cause a mixture problem. After a visual check, pull the PCV fresh air hose and fit a vacuum gage. Plug the intake side. Crankcase should pull down to around 8 in. HG or better. If not there is a crankcase leak or excessive bypass.
Static timing is cam timing. Pull the valve cover and verify slot position at rear of cams @ #1TDC.
Fuel pressure should raise to about 45 Psi at idle.
Do a compression test. A warped or sticking valve may be at fault.