The oxygen sensor could certainly also be causing problems, especially if it is old. Actually, I have a thread going, covering the same type of problem, including how much fun my oxygen sensor replacement was.
http://forums.pelicanparts.com/showthread.php?t=387461