Stick with anything made AFTER 2002/10 (October). Mainly the Facelift bmws...
Find a car that was relatively MAINTAINED well and the kms were not killed on it.
Depending on your budget... if you can swing it, I would go 330i/330xi... I have a 325i, and I love it, but i feel like i should have got the 330i/xi for more HP.
BMWDouche (gawd, every time I read that i laugh!) has a good point about going with the E90s... their price point is coming down, and the maintenance is getting better...
Do your homework.
These 2 links helped me out a BUNCH!