I'd suggest either getting a Acura TL, or a Lexus IS300 or ES330, or the Infinity G35 coupe or sedan over the BMW 3 series. I think in that price range they are best choices because in the long run they will be more reliable cars and cost you less in repairs/services. Also those three models are still young in their body styles compared to the BMW 3 series. I think the new 3 series design came out in 99 and BMW will probably change the body design after 7 years so you'll have a new looking 3 series till '05. Based solely on that I'd stay away from BMW because I'd hate to spend 35k on car only to have start looking old after 3 years, and nothing makes a car look dated than a new redesigned model. Also, the BMW are nice cars but after your warranty expires I'd expect to pay high maintenance costs, I have friends with BMW's and whenever something breaks on them it'll cost them a minimum of 800 bucks to repair it, I think you'll get much more reliability out of Acura, Lexus, and Infinity since their based on Honda, Toyota, and Nissan.
I was in the same situation as you last May but I only had about 33k to spend on car out the door. I really wanted a 325ci, but the dealers weren't flexible on the price and I knew a redesign was coming soon so I passed. Then I had my heart set on and Audi A4 3.0 quattro with the sport package, it's a new model and drives great!! but again the dealers wouldn't go down in the price. The lowest the dealer would go on the Audi A4 was 38k (ouch!) or 37k without the sport package. I could have gotten the A4 1.8 quattro for around 31k but who wants to pay that much for 180hp 4 cylinder, I wanted a 6 cylinder. Next I set my sights on the Infinity G35 coupe, it was near my price range but just a little too much. Finally, I went to the lexus dealership and looked at the IS300 sport design and found a car I could afford with all the features I wanted, xenon lights, auto dimming interior/exterior mirrors (the exterior ones hardly dim though), moon roof, sports suspension and rear wheel drive and above all else I got the reliability of car that's made by toyota. And all for 30k, plus the thing is built like a tank, I've read in the forums at is300.net that people have gotten up to 100k miles without any problems, My dad's audi A6 has broken down 6 times and it's only has 60k miles on it at a total repair cost over 5000 dollars (thank god we bought the extended warrenty).
Well at any rate that was my experience, I hope it helps. I don't really know about the new TL because it wasn't out when I was car shopping, I've heard it's a great car in terms of features with an excellent stock stereo but I've read that some people think the engine is too powerful for a front wheel drive car it causes steering problems or something I forget what it was. And a final note on the TL, and it's a big note since it is a new designed model it's usually best to wait a year before buying it because it usually takes about a production year for the auto manufacture to find all the production flaws in the assembly line so the second year models have lower defect rates and higher quality compared to the first year model. So if you can't wait a year just try and wait as long as possible and ask the dealer for the newest factory delivery car.
Oh and stay away from the Mercedes C class and Jaguar X-type unless you want your car to live at the shop.