3 series brake light assemblies are notorious for getting dirt, water, and everything else back in there. BMW has a totally bizzare way of supplying power to the bulbs. Couple that with bad gaskets and over time it opens up all types of problems.
One of the easiest fixes is to replace the whole assembly. It comes out really easy, three nuts, tops, and it just pops out. The nuts are on the inside. Don't ebay 'em like i did because the pin connections are different from the plug connections on different years and different model number 3 series. They all look the same but they wont plug in.
There is a circuit looking board supplying a positive and ground to each bulb in each assembly. it's not worth trying to troubleshoot. just replace. there's a whole lot of aftermarket stuff out there.
the "break light circuit" error is common on this car. there is a little switch under the break pedal that needs to be replaced. it is actually fairly easy to replace and the part is about $60. a repair shop should only charge you 1hrs worth of work on this one, but expect 2hrs. Here's a video of the repair, http://www.youtube.com/watch?v=j-T_vnWNqyg and here's a more doc style of the repair. http://www.emotors.ca/articles/23.aspx
You need to check the fuse (f46), if it's OK check for power in and out of the brake light switch. If all is OK, then you'll need to get a wiring diagram and diagnose the remaining part of the circuit. Good Luck, let us know what you end up finding