There's also a crankshaft position sensor. It lives above the oil filter.
Have you checked all system grounds?
Since it runs well once warm, maybe the temperature sensor for the PCM has a problem?
As well, the MAP, MAF, IAT, TPS, sensors all need to be checked for proper operation.
If you do not have a real time
scanner that can read the outputs from all sensors, you're going to spend a lot of time and money replacing parts that do not need replacing. Throwing parts at a car in an effort to find a problem gets expensive real quick.
Check out eBay. A lot of oldtimers, not unlike myself, are retiring, and a sometimes a well equipped Snap on MT2500, some with graphing, can be bought for a couple hundred bucks. IIRC, a MT2500 with a 7.0 software version will cover cars up to 05? Look for one that has programmable cartridges because they seem to have the latest software more times than not. Keep in mind that the MT cost about 2500 or more new, it is not a piece of junk.
A good
scanner is an investment that will last for years, and you can charge all of your buddies 25 bucks a pop for turning off their CEL as well. Just my $.02. Best of luck.