have they tried running it with a scanner connected, that should show what the parameters are (as in output from MAP, TPS, O2, crank signal, etc), if any of those are out of whack when is doing it could be a good starting point unless you can track a problem to the ignition path (i don't think the scanner will show that, it won't actually).