I had the same problem on my CPO 2008 335xi sedan, when I first bought it. Problem was two fold.
1) Bad IBS cable, it eventually tossed a code and the dealer replaced it under warrenty.
2) It also had to do with me driving so little in the beginning. After the IBS cable was changed and the dealer charger up the battery for me... everything has been smooth so far (knock on wood).
I also agree with the others, my car has build date of June 2007 (Model year 2008). That means my OEM battery is 5+ years old now, it is running on borrowed time. I've started researching where to change the battery and costs + battery registration. One dealer quoted me $300, I think that is a good price for a dealership to do it (but realistically the battery should only cost about $120 + $30 labor so they are making a mint even at that price). I'm going to see if my SA will just do the registration for me if I buy and install the battery myself... but I'll have it done when I pay them to do the next oil change.
FYI - All batteries tend to die in the winter months, because it's the worst time to work on a car and also the days get darker faster <sigh>
WARNING - never-ever have anyone jump start from the actual battery in the trunk, you have a positive and negative post that is run into the engine bay from the trunk. USE THE BATTERY TERMINALS IN THE ENGINE BAY to jump start with your BMW. If you do it from the actual battery in the trunk... you will blow out your Junction box and that is a cool $1k to have replaced and recoded to your car.