I wouldn't want to pay anyone else to maintain a BMW built in the last decade and a half.
I control sub-contracted repairs at dealerships for the auction I work at and just today a bmw dealer sent me an estimate for over $1400 to replace a battery and a starter. Just the battery replacement was ~$470+tax.
I think you hit on a big point. The parts are not hideously expensive for the most part, but if you don't do the work yourself, you will be paying a LOT for 'normal' service/repairs.