If your battery runs dead, chances are that the ground cable from your alternator to the engine chasis is damaged. Your alternator works yet it doesn't charge your battery. This would not show up on any of your warning lights. None of the BMW garages I have been too had clocked this one. Only when I totally frustrated broke down again(I used to carry a spare battery around), I checked out the basics. They are to young the mechanics these days. Don't know the basics. Hope it solves your problem so you don't want to sell any more.