Okay, thanks for the responses! Last weekend, I cleaned the IAC valve and throttle body (they were pretty awful), then raided my parts bin and swapped in a spare AMM. After that, it might have run a little better but not much.
Then, I put a new set of NGK copper plugs in, and ran through all of the LH 2.4 green book tests at various sensors & at the ECU. Everything checked out, but the TPS test values were a little off (point to Onkel Udo), so I swapped in a spare clean throttle body/TPS from the parts bin, which checked out okay. While doing the tests, I also found that the O2 sensor had been purposefully disconnected (wires carefully taped to keep out water & tucked away). Hmmm. I reconnected that, it seemed to test okay, so I called it "good enough".
It was starting somewhat better - at least it didn't miss quite as much and never came close to stalling any more. A few days later, though, I noticed that the idle was a bit uneven - a little bit of hunting and vibration - and then it started intermittently bogging down, almost to the point of stalling, upon acceleration after being stopped (making a turn at a stop sign, etc).
So, this weekend, I checked the ODB and got a 2-3-2: "system adjusting for rich or lean mix" or something along those lines. Real helpful, right? I did a thorough check of all the vacuum hoses & the FPR - all was good. I cleaned the AMM connector really well, and also cleaned off the battery connections, which were a bit gunked up with corrosion. I also pulled the old O2 sensor, which looked pretty toasty, and put in a Bosch universal replacement... and everything is good again. After clearing the old codes, the ODB is now reading 1-1-1. Gave it a real test today (weatherman promised a high of 16°), it started right up with no misfiring or hesitation, and ran with a smooth idle.
To sum up: who knows what the real issue was - my best guess is a combination of kind of bad AMM connection, really dirty throttle body and/or weird TPS, and a missing/dead O2 sensor - but doing a bunch of stuff seems to have fixed it. Thanks again for the input, everyone!
|