You haven't used any of that dodgy Tesco/Morrisons petrol have you? Forgetting that, I've had a think...... The facts, assuming the CAT is OK, are......
- High CO means the MOT probe detects a REAL rich mixture being combusted. 2. Close to 1.0 lambda MOT reading means the O2 level is correct in the tailpipe, i.e. AFTER the O2 sensor. 3. The 1.0 reading also says to me that the O2 sensor is very likely working properly and controlling the ECU as well as it can.
Conclusion......
The main one must be that something is causing the O2 sensor to LIE. It gives a good reading with a rich mixture basically, and everything else automatically follows as computers are dumb.
So, the gases before the O2 sensor must result from a rich mixture, as excessive CO only ever comes from rich mixtures, but the O2 sensor doesn't look at CO, it looks for O2 (obviously). so it wouldn't know about high CO. A rich mixture would give a low O2 content in the exhaust but the O2 sensor reads normal somehow and the closed loop feedback system controls mixture to maintain that normality. The only way I can see that happening is if extra O2 is being added to the pre-O2 sensor exhaust gases, but after the actual combustion process. That means there's a leak between these 2 points, i.e. exhaust manifold. Air is being sucked in between exhaust 'bangs' when there's negative pressure caused by the previous pulse of exiting exhaust gases. The air fools the O2 sensor into thinking the engine is running weak so it richens the mixture to compensate.
Of course, the CAT could be duff. I believe they are supposed to reduce CO by 80%.