My e46 320Ci (M54B22 engine), which is a 2002 reg on exactly 100k, is only giving me about 18 mpg around town, and about 32 on the motorway, and this is with driving like a granny.
I've been led to believe it should be doing about 5mpg better than this, after consulting other owners.
So where do I start looking? Could it be MAF sensor - should I try cleaning it? Or what about the fuel filter? It had a full service about 5k/12 months ago so I assume the fuel filter and air filters would've been changed then? How about the fuel pump? I tend to drive it till nearly empty, but I've just found out that could be bad for the fuel pump.
The car has no obvious symptoms that something is wrong, except the poor MPG. Very occasionally I get a hot burning smell (not plasticy or electrical though) accompanied by a little tiny bit of white smoke from what looks like the bottom of the engine. A few months ago the oil sump bolt came loose and caused an oil leak, so I've tended to think these random puffs of smoke and smells are little bits of oil burning on hot engine.
But there are no bad noises, it starts first time every time, it pulls fine, never stalls, never runs out of fuel early, doesn't use any oil, doesn't use any water, temp guage always smack bang in the middle, and I never get any warning lights. Well I got an evac code earlier this year, (the MPG was already poor back then) so I replaced the evac valve on the engine. The MPG didn't improve, but I haven't had a warning light again since.