Neither one makes loads of sense. The BMW is a really impractical choice--the purchase price of the car is only a fraction of what it will cost to keep it running. Unless you can afford to do the wrench time yourself, toss it out. The parts cost alone is going to sting. You trivialize the matter by saying "under 2k is ok for repairs"...the big problem is that the car will need lots of upkeep, and BMW parts just don't come cheap. It's very tempting to go for the older "prestige" car, but there's a reason you can get a $40k (new) car for so little now--because they're still not really cheap in the big picture.
Yes, the E39 is a safe car, but it's also way too much car for a beginner. It's "only" the 525, but even still, it's a relatively fast/heavy car with RWD--a lousy combination for an inexperienced driver. If safety is your concern and you still want a car that will look slick, try to find something like a Volvo S60 or Saab 9-3...both will still be nice, are very safe, cheaper to run, and have FWD, thus being a better snow/beginner car. Audi will cost at least a much to run as the Bimmer, but at least you can get AWD for better snow driving.
The Acura is a somewhat more practical choice, though you could get a lot more bang for your buck by finding a nicely-equipped Honda instead. You're bargain shopping, and bargain shopping by brand doesn't work very well. Oh, and don't forget insurance costs--insuring a teenage boy is murder to begin with, and on a sportsy/high-end car, forget about it.
Personally, I've had a beige '01 Toyota Corolla for about 5 years now, and love it--the car's needed exactly one non-standard-maintenance repair in its life (it was my grandfather's car originally, thus I know its history), gets 33ish combined mpg on regular fuel, and is easy to drive, cheap to run, and actually pretty fun. Not much prestige, but the best kind of car is the one that's paid for/that you can afford
