If you were going with a early-mid 90's car, I'd go with the Supra. My only reasoning though is that the Supra is no longer in production, so you'll still have the "latest generation" model. If you get an old M3... you just have an old version of a current car.
I'd take a 2004 M3 over ANY Supra, I don't care if we're talking about a 1998 with 10k miles and 800hp. Once you cross 300, I think that it's all the same and you should just go with comfort and class, unless you are talking about a true factory supercar (ZO6, Porsche, Ferrari, ect).