First, check spray patter on injectors. With it idling, you should see a fine cone with no drips or streams. When I first got my truck, my injectors were leaking badly and I had similar symptoms. Some new o-rings fixed it.
Second, buy a ALDL cable and download a free copy of something like winaldl and look at everything while it is running. Mine was throwing a EGR code and I replaced all of the EGR pieces and it still got the code. Finally got winaldl running and found 2 codes that were not showing up when I used the ground a/b pins and read the flashes. One was TPS low (was out of adjustment) and the other was for the spark timing. Traced the timing code to a bad ignition module. Have a new module on the way. I would have never known if I hadn't hooked it up and looked.
Got the cable from here -
http://www.aldlcable.com/ and it came with a CD that had like a dozen different software programs on it.