Most of the reports about bad reliability in newer BMWs is because of IDrive in the 5-series and the 7-series. The 3-Series has always been considered a pretty reliable car to own. I've never had a problem with my E46, but it doesn't have very high milage, however I know people with E36 3-series with 200,000+ miles. If you take care of a BMW 3-series, the odds are it will last a pretty long time. The only problem with BMW reliability is the cost of repair parts. So when you do have to fix it, it can be expensive. However buying parts online has dropped the price of the European parts significantly.
Many of the stories you hear about how unreliable BMWs are happened to buy lemons, which every company makes a few of (even Toyota), but the average 3-series is a great car to own. Its not going to be as reliable as a new Accord or Camry, but it sure as hell will be better then a Cadillac STS. Compared to other cars in the entry level luxury/sports sedans/coupes, BMW is just about the best.