The car will not idle right with a huge air leak in the intake hose. If you have replaced it with a new one, and it idles better, that is likely the reason.
If I were in your shoes, I'd check the codes next. Since it's OBDI you can do that yourself. I'd clear the codes by disconnecting the battery for 1/2 hour. Then reconnect it. Put your ignition key in position 2 and press the gas pedal to the floor 5 times within 5 seconds. If you do this right, your CEL should flash codes. You SHOULD get 1-4-4-4 which means no codes stored since you cleared them by disconnecting the battery. Now drive the car around. Stop and check the codes again. If you have codes now, they are new and current.
There is more info on reading your codes and what they mean here:
http://www.pelicanparts.com/BMW/tech...de_Reading.htm