It might just be me, but it sounds like you've made the battery go flat trying to start it when there was obviously something else wrong (I cant see a low/flat battery making the engine lumpy), then taken it to BMW with an almost completely flat battery and then they've told you the problem is a flat battery.
I will be wholly unsurprised if the problem reoccurs.
it needed a new battery anyway, but Im as puzzled. It is behaving itself however.