MOT fail on Emissions

My car just failed its MOT on emissions. The results were pretty much the same across the fast idle tests and the natural idle test:-

CO% - 10.410
HC - 940ppm
Lambda - 0.694

I've checked the fault codes and had p0300. I checked and changed the spark plugs and you can see the car has been rich for a while. On start up you can smell the unburnt fuel.
My Idle sometimes dips down below about 600 rpm when the car is warming up.

I don't really know where to start with this, obviously my emissions are miles off. I left the car with the MOT station and it quite clearly says on the results "Engine oil temperature measurement was by-passed . ( Temp Gauge checked)" is it possible they tested it cold? would cold test results be that far out?
Any ideas where to start?
 
I think they just drove it from the car park into the centre had it running for a few minutes then tested it.

Its a standard exhaust no de-cat.

I started the car up today and left idling it took 20 minutes for the fan to kick in.

The thermostat seems to be working properly.

I'll try another test centre for an emissions test after a good run on Monday.
 
I think they just drove it from the car park into the centre had it running for a few minutes then tested it.

Its a standard exhaust no de-cat.

I started the car up today and left idling it took 20 minutes for the fan to kick in.

The thermostat seems to be working properly.

I'll try another test centre for an emissions test after a good run on Monday.

they haven't got it hot enough then - would still be "cold start"...idiots!!!!