1995 Chevy Suburban K1500 Throwing Up "Code 42"?

So my 1995 Chevy Suburban K1500 is throwing up a "code 42" which means "timing spark error"? i have no idea what this means, i can do certain work on my own but i dont have a full understanding of the automotive practice. After doing research, people with the same truck i have, and the same problem, are saying that it could be "esp?" "pick-up coil inside my distributor" "a bad ground cable towards the back of my engine" "computer is going bad" ive done a tune-up recently consisting of new plugs, wires, dist. cap, rotor, and ive replaced the ignition control module (which was shot). Ive got dual exhaust, no cat. converter (was like this when i bought it >.<), but i do not have my o2 sensor bypassed, it is just kind of there, it refuses to run correctly in the rain, i have to put the petal to the floor just to get it to move and it will not run correctly when it is even slightly humid outside (obv a moisture issue there somewhere) It will start up everytime, and it will idle fine, and it even runs great for awhile, as soon as the CEL comes on it is all downhill from there, the truck will still run, but it doesnt want to accelerate correctly at all, and my duals get quite loud when the CEL comes on. I took it to Gates Chevy World and the only thing they could tell me is that it returning code 42. When i purchased the truck my CEL would come on but it wouldnt drive noticeably different, which i assumed was from my o2 sensor not being bypassed. I have no idea where to start!!!
:grrrrrr::grrrrrr::grrrrrr: Like my name says I feel stupid for buying this....