Hi there, I've experienced almost exactly the same problems with my 318i (2002 Auto - 4 cyl - 80 000k's). I think the 318 never made it to the USA so you won't find many posts or help on your problem. I am not a mechanic so I bought the Haynes Manual for the BMW 3-Series (published in the UK). At page REF.13 it gives the following as possible causes for Engine Idles Erratically, Engine misfires at Idle Speed, Engine stalls and Engine lacks Power: The common denominators are:
Air filter element clogged
Air in fuel system
Vacuum leak at throttle body, inlet manifold or hoses
Timing chain incorrectly fitted or tensioned
Faulty fuel injectors
Disconnected, leaking or perished crankcase ventilation hoses
Fuel filter choked
Fuel pump faulty or delivery pressure low
Fuel tank vent blocked or fuel pipes restricted
Most of these you can check yourself. In my case, I eliminated them one by one. I had vacuum leaks and replaced the hoses. No change. I replaced the fuel filter and replaced the seals in the vacuum pump and the problems all went away, including the oil leak at the back of the engine that caused the burning oil smell when the car had wormed up.
My theory - untested - is that the leaking (brake) vacuum pump caused the brakes to "bind" at idling when the car had warmed to operating temperature. The idling rev's then dropped to about 500 before the engine's electronic management system kicked in and raised it to about 700 or 800, before the whole process repeated itself. There is a link somewhere on this site on how to recondition your vacuum pump cheaply (less than R200 or so). A clogged fuel filter would cause the engine to behave the same way. As I said, my problems went away when I replaced both items.
I would suggest you check all the hoses for obvious leaks. If you don't find cracks or loose fittings, I would suggest asking a BMW service to check the vacuum. They have a small hand-held device and the test takes only a minute or two.
Is your fuel pump okay? Have you checked all the other items that may be the cause? There is a good deal of pleasure to be had working on your own car (without being too adventurous, I suggest). When all else fails it's got to be the timing chain.
Hope this helps.