I have programmed my Z4M and 335Xi, and the programming works differently than other cars I'he had. It is ultimately about following the book, which says you have to first follow the non- rolling steps and then the rolling code steps. Where most people have rolling codes you'd think you could start there, but you have to go through both steps.
Of course my newest car is a 2008 and your models could be different ... hope this helps
Sent from my Kindle Fire using Bimmer