I am a serial BMW owner (since 1998), but I'm not crazy about the model years 2002, 2003, 2004 in terms of reliability. I have taken to leasing them and leaving them every three years. The cars are -repairable- but not Japanese-level reliable, and repairs and parts are expensive, even at non-dealer shops. My 2004 328i required 4 window regulators @ $500 a pop; while I was fortunately under warranty when they failed, my friend wasn't when his went. My 2004 also required three of six coils replaced, and TSB repairs to the taillight wiring harness. Another friend just got rid of his 2010 X5 after repairing the automatic transmission and wasn't sorry to see it go, although he loved driving it. A third friend ended up paying a shop $600 to fix what had seemed a simple oil leak on his 2011 X3. We'd expected a valve cover gasket but new parts (? Don't recall what?) were required. My 2008, 2011, and 2014 were all okay, but I never saw 40K miles or the outside of the warranty on any of them and was glad of it.
So, if the car you're looking at has a lot of miles and/or, you're not in a position to pencil say, $1,500,a year into your budget -something- unexpected, I don't think I'd recommend one. Remember that recommended regular maintenance calls for a radiator flush and brake flush every two years, and when you replace the brake pads every 25K miles you replace the rotors too.