Having several E90s in the family (and having considered buying one) I can say honestly that the E46 is a generation with more integrity than the E90.
I'd get a mint ZHP or other low mileage 330- don't settle for a smaller motor- and never look back. These cars will take care of you if you take care of them.
Don't go back to the E36, if you aren't a DIY person the E36 interior issues and the like will get to you.
"All lies and jest, still a man hears what he wants to hear and disregards the rest."