Hi
I had a similar problem on my 3.0d X5, turned out to be as simple as a dirty injector, problem solved by dumping a bottle of diesel injector cleaner into a quarter full tank of diesel and then ragged it for half an hour. Filled up the tank after and was like a new engine!
Hth
Gareth