Another thing to look at is the ECU connection. Mine was playing up and (this might sound strange) if I slammed the door in a rage at it not starting, it would fire. It turned out the be one of the pins in the multi-plug connector not quite being closed up enough to make a good connection.
The way I found the problem was to wiggle the connector when it was running and it'll misfire and try to cut out.