I'd also say it depends what he's after.
The M3 (I assume he's going with the outgoing E46, not the yet to be released V8 version on the new 3-series chasis?) is a much nicer all around car, and will impress more people if thats what he's after (I personally could care less what others think). A good friend of mine has one so I've ridden in it several times and driven it once, and it is a phenomenal all around car.
If he's a performance nut, the GT500 is an easy choice. Ball ascending fast off the line and everywhere else. And just like the '03/'04 Cobras, you could probably squeeze out another 70-100 rwhp for under a grand. And keep in mind this is a completely new and advanced chasis, even with the stick axle, so its not riding on an 3-decade old squeeky, rattling Falcon platform. It probably won't feel quite as composed as an M3, but on all but the roughest roads will probably handle near as well.
If it was me, I'd probably go with the Stang. Hell who am I kidding if it was me I'd go with a Vette, but between those two choices I'd take the Stang.