Ok, the catlytic converter converts CO to CO2 when it has plenty of oxygen.
High CO occurs when the mixture gets rich. So things to check would be anything that creates an excess fuel mix or leads the ECU to believe the mix is lean and needs to be supplemented with extra fuel:
Others have already said this but look for things that reduce 02 content:
Blocked air filter
or Increase fuel:
Faulty/Blocked injector.
or convince the ECU that the engine is running lean:
Faulty 02 sensor
Keep in mind that the ECU runs in closed or open loop mode. In closed loop mode the engine trys to keep 14.7 lbs of air flowing for every 1 lb of fuel delivered because the catalytic converter works best with this ratio. The ECU checks to see how close to 14.7:1 the ratio is by measuring the oxygen content in the exhaust with the 02 sensor. Closed loop mode is all about minimising emissions and the ECU can compensate for a lot of little variations in operating conditions to achieve minimum emissions. Closed loop is what should be occuring during your SVA test because your engine is not under load (it's cruising at high rpm).
In open loop mode the ECU doesn't care about the 02 content in the emissions and it uses it's internal map of fuel to air ratio's to offer the best drivability/power/acceptable emissions (but not good enough for SVA). There are many instances where the ECU will go to open loop but the two main one are under heavy load when the ECU enters "power enrichment" mode to stop knocking and cold start mode when extra fuel does what a choke did in an older vehicle.
I'm not sure about the UK but usually emissions tests are all about testing the engine during a period when the engine would be in closed loop. I doubt that any engine would have good enough emissions in open loop mode. I think that is why some people are telling you to give it a hard run first. ie the engine is warm so it isn't in cold start mode. The 02 sensor also works better at temperatures above idle so heating it up will help. However, I don't believe either of these are really your issue because your engine will be warm during the test and the 02 sensor has an electric heater that cuts in when the engine idles and it gets too cold.
I suggest that you verify that the temperature sensor is not faulty/unplugged so that the engine stays permanently with the choke out. Verify the 02 sensor is working. Check air filter. Have injectors/fuel system serviced. Last resort because it's a bigger job is to check/change the catalyst. I'm doubtful that your Cat is the problem because your NO emissions would be sky high if it was dead.
If you are looking at a graph of catalyst efficiency vs air/fuel ratio the curve is very steep and a small change in 02 content will give you the change you are looking for. In other words the fault could be pretty minor, just got to find it.
Do you have the HC and NO figures? My guess is that your HC will be a little higher than optimal and your NO will fine if your mixture is a little rich.
Do you have access to a garage with an EG analyser? I think that will be the way to go before you try out for the SVA again.
regards
Terry