Personally, between the two, I will get the E90. Quite a reliable unit in my opinion. Not much issues if taken care of well.
That said.... I always believe to go what your heart desires. In your case,go for the E46 since you are already in love with it. Basically,you have decided. Don't waste your time and go get your love.
The sooner you get her,the sooner you'll have Another day another drive!