I know these cars better then most bmw mechanics,how many miles and service history??you could try new plugs and air filter but i dont think thats the problem,you really need a diagnostic check which could save you a lot of time,believe it or not but bmw garages tend to be cheaper than anywhere else for this.around £25.it could be the cam or crank sensor,they tend to go at around 100k,or or a sticking idle valve.my money is on the crank sensor.may well be worth trying some fuel cleaner aswell to rule that out
mikec
May 2010