Buying a CPO BMW is the way to go if you plan on keeping your ride for many years. BMW CPOs have a great warranty: 6 years/100,000 miles, but doesn't cover the iDrive. If you are like me and maybe keep a car for 2 years, a CPO might be a waste of money, because you don't get that extra money for a warranty back when you trade in.
I bought my most recent E90 in October 2012 and BMW Financial ran a special that they would make my first 3 payments, it was a good deal.
If you like to mod your BMW under warranty, the dealership will always try to make you remove a part to verify its really they fault and not yours.
Leasing is also a great option to keep payments low, if you don't like keeping cars very long.