Interesting. I'd try a new battery, or have yours load tested somewhere else.
If the starter is engaging but doesn't have enough ass to turn the motor over, you've either got a bad battery, bad wiring, or a bad starter.
I'm not an expert on the theft protection circuit but I'm pretty sure if the starter is getting energized that is out of the equation. Anyone care to weigh in?
^This advice makes good sense to me if you are getting the starter to engage. I think that the anti-theft circuitry wouldn't allow it to get that far, though I am far from a BMW Master Tech.