A couple of things; if its a 2.3E, its a 10v, if its a 20v it will say so on boot, log book even the engine itself!
You can still read fault codes on the 10v NG engine, but can only do it with the engine running. Ideally you would warm it up, drive the car, use all of the throttle range and exceed 3000 rpm a few times. then connect up the code reader and read codes still with the engine running. When you turn off the ignition any stored codes are lost.
Sorry to disagree, but I don't see the cold start fault being the lambda probe. This sensor is ignored by the ECU until the engine reaches somewhere near its operating temperature. I would look at the temp sender for the ECU.
It's usually located on the cyl head somewhere, I'm not sure where on an NG.
Rear lights are a weak point for water leaks too.