Are you still under warranty? If so, for how much longer? Depending on that, you might want to keep the car just for the warranty and peace of mind.
The e46 can break down and have serious issues. That's why it's very important to pay for a good car. Make sure you get records. That's so important and will save you big time.
Understand what goes wrong in the e46 and be preventative about it: ofhg, vcg, fuel filter, fuel pump, sub frame, cooling system, worn pulleys.
Understand the things that can actually leave you stranded and replace them before they break (as necessary) and all other things be ready to replace when they break.
To keep these cars reliable its all about being ahead of the problems. Be ready to spend a weekend doing the cooling system. Be ready to rip out your back seat and slap your fuel pump to avoid a tow when it quits on you.
Basically, these cars need more love and attention than your current car to keep them reliable. However if you're prepared to make that commitment and take care of the car as it needs to be taken care of, it will serve you reliably and happily for however long you decide to love it.
Hope this helps