While BMW maintenance costs may be high, the actual time you spend at the dealership is minimal. If you get a well taken care of BMW, you shouldnt have to go to the dealer more than a few times a year, and spend minimal amounts of money.
Now, if you get a not-so-loved car, you are probably in for an expensive ride.
When in doubt, buy a warranty! There are several companies that do it for private purchases, and Heritage does it for most dealerships.
As for the oil changes, i am new to the BMW world, however, the onboard computer informs me oil changes only need to be performed every 10,000 miles? The BMW manual states : "Determining the maintenance intervals according to the actual use of the vehicle covers every kind of operating situation. However, even those who drive only short distances – i.e. significantly less than 6,000 miles (10,000 km) annually – should have the engine oil changed at least every 2 years since oil deteriorates over time, regardless of use."
The onboard computer (OBC) calculates based on the driving style used before the last oil change reset, the mileage you will be able to travel before it recommends the oil change.
I would suggest you A. take it to the BMW dealer for oil service (will cost you minimum 60 bux probably. B. Do it yourself (requires a small level of mechanical appitude) C. Take it to a certified BMW mechanic shop.
The e46 is the greatest car i have ever driven! You will not be disapointed if you take care of it!
Update: Make sure you use Synthetic 5w-30 or 5w-40 oil! Dont go back to normal oil, it can cause damage to the vehicle if used after synthetic oils have been used.