This is a question I've gotten a million times over, and it's so hard to answer. I think of it as a bell curve really. The earlier models, such as the E30, has nothing that can really go wrong lol. It's simple and the upmost care was taken into it. The brand new straight off the line BMW is cheaper to run due to it's increases in efficiency and advances in technology, however since they're brand new they might still have some bugs (such as the wiper bug on one of the F30s).
The E46 to be honest doesn't cost much imo. I guess every car is different but I've had this thing for the last 12 months and she goes like a dream. Have only needed to replace front discs and pads, oil and coolant. However my water pump for the washers just died, so that sucks but hey!
I think the most expensive things for the e46 is the normal 'car care' things. Such as the tires being changed or servicing.
2006 BMW 320Ci Special Edition