Some thoughts, assuming the engine is not converted to carbs:
If the CO readings were high, it worth to check the Oxygen sensor.
If it is still the factory one, then it could be dead.
1. Sometimes the sensor heating is not working due wiring fault (or blown fuse)
preventing the correct mixture formation during idling.
2. High CO could be result of catalytic converter failure too. Even the oxygen
sensor is OK, the CO emission will not be reduced in this case. (The HC emissions will be affected as well)
3. Throttle position switch (or it's wiring): failure of closed throttle signalling,
or incorrect angular position of the switch. This prevents the ECU from entering
idle mode at closed throttles. (also causes high HC emissions)
4. Weak sparks (also causes higher HC emissions)
5. Clogged air filter
6. Air leak: atmospheric air enters into the intake, fouling the AFM (also causes higher HC emissions)
7. AFM problems
8. Air temperature / coolant temperature sensor problems
9. Throttle imbalance between the LH and RH cylinder rows
10. Mechanical problems with the engine (low compression, inadequate valve lift due worn tappets / camshafts)