My 330d stinks, specifically when stationary. Smells exhausty, both inside and out. There don't seem to be any blowing noises from the exhaust but I guess it must be a leak somewhere?
Crack / leak in one of the cats, perhaps. A decent mechanic might be able to remove and re-weld it, which would save you the buggery without lube which BMW will inflict on you for a new one...
breather is easy to change once you have the air filter exposed. part about £30. i'd be surprised if not already changed, but depends on history / age of your e46
not sure that makes a smell though. is it an eggy smell?
Not really eggy, hard to describe really. I will fetch it down to the local garage next weekend and get it up on their ramp for a poke around the exhaust.