I also have an '04 which I like very much. Only thing that I do not like is the rough ride even though I have the basic suspension.
I also have the "check engine" light problem. Was advised by an independent BMW garage that nothing is wrong even though it goes on and off with some frequency. They told me that a software update from BMW will solve the erroneous messages. Have not bothered to go to BMW yet for that fix....assuming that their information is correct.
Have never had to add oil, but I change my oil every 7500 miles instead of the typical 15000 dictated by the computer. Have not had to replace anything other than tires, wipers and brake pads.