I have a 1999 540i and about 2 weeks ago I started having some trouble with it.
On startup it would spit out a huge cloud of smoke,then after about 5-10 seconds it would be gone and would not smoke while I drive.
The car would idle very rough while I stand still and sometimes the rpm would rise to anywhere between 700-1000,as soon as I get on the throttle it would all be fine again and it runs smooth.
After doing a few kilometers and getting the engine on its temp I would start hearing these loud screeching noises coming from the engine.
I took my car for a service earlier this week and what they found was that they neede to replace a few things on my intake manifold.
See this link for details on the gaskets that needed to be replaced.
And along with that they changed the intake manifold cover.
After the service being done and these parts replaced all the problems were gone and it now runs like a brand new car,no problems.
This worked for me and it sound like you and a bunch of other guys had/have the same kind of problem.
So I'm not saying go waste money and do this but it worked for me so it just might be the solution you are looking for.