Turn your A/C on and after a few minutes look under the front of your car. Look for water coming out of the heater box drain, should be on the firewall near the passenger side or center of the car. If no water starts to drip the drain is probably plugged and water is backing up in the case. Then when the fan is on it is blowing the smell of the stagnet water into your car. You will need to unplug the drain and go to local auto parts store get a can of air vent cleaner and follow the directions.
I changed the intake filter first. Nothing changed. Then took it to dealer, they said water is not running and they had to clean it and drilled an opening. They did this twice for $200 each time and still smell is there. I found a can of cleaner on BMW site (looks like they have this problem common) I will order but don't know where to put that. Into the vent system from inside or on the engine side. Everything is tight closed in engine side. Now dealer says they will change the heater box for $2000. I am not convinced it will solve the problem. Thanks for your suggestion anyway.