Doesn't sound like a bad ECU with just the CEL, but I guess they checked.
The CEL comes on because ECU is working, usually with a bad ECU you have engine running issues but no CEL, that's because the ECU is bad so doesn't turn on the CEL.
The ECU numbers have a prefix - 12A650 - suffix
The 12A650 is the Ford part number for ALL engine computers
Prefix is the year and vehicle info << this is the important one
Suffix is manufacturer info and hardware version <this can be important, but usually not
There will also be an added sticker with the final software version that was added just before it was shipped out of the factory, this sticker may also be on the door pillar, either door pillar.
Manual or automatic transmission is the big one, can't swap those.
With or without EGR is another one that throws in a monkey wrench.
So best to find one with the same Prefix
The '94 Ranger will have an EEC-IV (electronic engine control version 4), last year of the OBD I, 1995 was EEC-V, it was the first EEC with OBD II.
OBD(on board diagnostic) I and II are not compatible, different "reader" is needed for each, and since '94 was the last OBD I it can have a bit of OBD II protocol so some OBD I "readers" wouldn't work to read it, if the shop you took it to simply couldn't read it then I would suspect their reader not the ECU.
These ECUs are also called EEC's and PCM's(power control modules)
When engine is cold the ECU is running in Open Loop, it will raise engine idle, run engine rich and advance the timing, so basically Choke mode, it only uses MAF(air flow/temp), TPS(throttle position) and ECT(engine temp) sensors at this time.
After engine warms up, idle will drop to 750rpms and ECU switches to Closed Loop, it then uses the O2 sensors to fine tune lean/rich, and CKP(crankshaft position) and/or CPS(camshaft position) to adjust timing.
So having a CEL only after warm up is not all that odd, and a CEL doesn't mean a sensor is bad, it means data FROM a sensor is wrong, so check why data is wrong.