Not necessarily no. Intermittent fault codes won't always trigger the engine management light, specifically on older e46 models, from my experience. (newer e90/e92 3 series and e60/61 5 series are much more sensitive and have numerous engine diagnostic and performance sensors) It's 13 quid well spent in my opinion to run the fault codes. It's the first thing any garage will do to diagnose the problem.
Alternatively, go to an independent and pay 60+ for them to diagnose the problems, or take out a 2nd mortgage and go back to the main dealer.
Are there any other symptoms? When you say poor fuel economy, what mpg specifically is it doing?