as I wrote above - if your engine is bucking and the check light flashes for a second your ECU is momentarily losing 12V switched power on the run, this almost always leads to a main relay problem, in your car the "main relays" are nestled behind the glovebox. To test this. its best to run an LED or something from the ECU switched power supply and place it somewhere where it can be monitored - then run the car and watch it when the car misbehaves again, if the LED goes out, you are losing 12V supply to the ECU, you can also put a similar LED to the ground wires to the ECU to check if its losing ground.
The check lamp flash is happening because the ECU resets back to "wake" as in Key on - but as the engine is rotating - the cam and crank signals are coming in, it starts running the engine as is.
I have repaired cars like these - I recall 3 quite vividly as they required 2 days to diagnose, one of them was key switch only, one had a bad key switch and main relay and one had a bad ECU.
the bad key switch one was due to "aasum type R branded keyless remote - with duck quack horn"