I solved my similar problem by changing, in this order:
Coil pack
Dizzy cap
Plugs
Leads
Crank sensor
ECU relay
Fuel pump relay
The winner seemed to be the 2 relays as its been faultless since, although the crank sensor needed doing anyway as it was shot!