There was a big debate about the idle issue a while back, last winter, with like, 5-6 people in the discussion.
I think most of us came to the conclusion that the major wear and tear is mainly caused by the expansion of the metal in the engine and the unlubricated parts grinding together as the engine's parts flex ever so slightly during the warmup process. The reason to drive the car instead of let it idle during warmup is because the engine will reach operating temp MUCH quicker than if it idles. To accelerate, you have to burn more fuel, which creates more heat, warming the engine up to operating temp faster. This is better than keeping the car out of gear and pressing the gas. If it's not under a load, the RPM's will go up much faster with just a little more extra gas. That's bad. If anything (if you have an automatic) put the car in gear and keep the break on and give it some gas. It'l heat up the engine and the torque converter (which isn't really good unless it's REALLY REALLY FREAKING COLD outside. if it's slippery, you can spin the wheels and loose controll also, so be careful.)
So, if you can, when the engine's warming up, shift a little earlier than you would normally so you put more fuel in the engine, but keep the RPM's down. You can do this with the automatics also, use the A\M button and shift gears manually.
The BMW engineers know what they are doing, so there's a reason they tell you to drive the car instead of let it idle around. These engines were designed to run under a load (IE: acceleration & keeping speed), not to sit there and turn over with no load whatsoever.