there's more than just the body. the technology in the e90 m3 is far better. e46 m3 is late 90's technology with a few tweaks later on. Warranty on e90 m3 is still solid.
I'd struggle to go to something older unless it was better and I dont think many people will say the e46 m3 is better - except in looks - which I agree I prefer.