Whatever you do, don't buy a newer BMW. I would know, I work on them everyday. They aren't cheap to run.
Find a used G if you want something nicer. Unless you want to build something. Buy a cheaper car and get to work!
You can find pretty nice E46 M3's for less than 30k. I'd suggest test driving something you might want, if you can find a car you think you might want at a dealership go for a test drive. You don't have to buy that one, but get a feel for a car you're looking at. Good luck, and make sure you get what you want.
