I think BMW's are good if you can do the maintenance yourself.
My brother just bought an 02 330i with 100k on it. He had a stack of very expensive dealer maintenance receipts from the previous owner. Even with all that his BMW dealer hit him with a bill of $5300 to repair some typical 330 problems like oil and coolant leaks, bushings, water pumps, plugs, etc. That's more than half of what he paid.
He bought all the parts online for about $500 and did it all over the course of two days. The thing runs perfect and should easily go another 100k. It helps that I have a friend who is a BMW tech and could tell him what was necessary and what wasn't on his quote from the dealer.
I'm still sticking with a Subaru, can't beat their reliability if you keep it near stock.
2005 WRX Cobb Stage 2