I’ve got a 330ci and it averages 31 – 32mpg in mixed driving & can do upto 36mpg on a run without any particular effort.
Sure insurance / servicing costs are a little higher but there isn’t a great deal in it I wouldn’t have thought (plus they are VERY easy to work on)… a BMW without a straight 6 just isn’t the same.
Try a 320i or 323i (same M52/M54 block) – the smoothness & sound more than makes up for the small drop in MPG, these are heavy cars and I always thought the 4 pot’s struggled a little to make progress. Plus you’re going to get more life out of a bigger, less stressed engine (particularly important if buying a car that’s done more than 100 – 120k).
Problems include; front suspension bushes, snapped rear springs, fan controller ‘hedgehog’ oil level sensor failure and a cooling system that will need overhaul (approx £230 + labour) at the age they are… oh and they do Rust so check the arches carefully and also the tailgate around the boot release.
Don’t be put off though – these are fairly minor things in the grand scheme of it and mine has been a great car, and much better put together than the later E90 range