The number one cause of rough cold idle* is a dirty throttle body. It's not too hard a job to do on your car. Find a DIY, get a good brush and a can of t b cleaner (Gunk makes a good cleaner). Be careful not to damage the electronic throttle by improperly moving it, and you could solve your problem.
A dirty throttle body virtually never sets a code.
*You did change your plugs already, right? And used BMW plugs?
PS When you start the car after cleaning the tb it will run worse than ever for half a minute. Give it a chance.
Last edited by DSXMachina; 11-14-2012 at 12:38 PM.