usually the crank position sensor plays up, its down the back of the block.
ive got the same problem on my 1.8 zetec but its not the sensor on that.
i cant seem to find my problem, im thinking that mine could have stichy valve syndrome causing the prob.
maybe yours has got somethin simular, have you changed the oil in it for some nice thin 5w30?
i take it youve changed the spark plugs etc..