OK... Yes...I totally recommended buying E46. NO question about it. But if you are getting a used one. A few things you need to expect depending on the mileage. Lets assume you are getting one less than 40k and in about 2 years or less you will reach 60k. Now take notes.....
Expect to replace belts such as AC belt, Alternator belt and so on.
Expect to replace radiator and water pump. (I did at70K)
Expect also to replace alternator ( I did @ 60K)
Expect also to replace battery cos by your alternator die prematurely like my e46
Power steering pump.
oh... also expect your interior may start falling apart like my at 90k
I am not sure if this happen to everyone's e46. but I do have to replaced all this. Now my car is at 90k still driving like a new car. You may use the list above to negotiate a better place if you commit to buy e46.