BMW is like all german european cars, very nice to drive, but if you are keeping it for the long run, always buy the extended warranty. Otherwise I suggest go japanese, lexus, infiniti, acura, all good cars.
IMO, any car can run forever, it's how much you are willing to put into them, and euro/german cars require a lot more maintianance than your average japanese or american car. They can be reliable, but are very problematic when they get old, more so than other brands. Like others have said, not much with the motor or transmission, just the little stuff, fuel pump, water pump, suspension components, electrical, etc... It can be a headache and quite pricey.