Könnten aber auch ganz simpel der Zündverteiler, Zündkabel, Zündkerzen sein. Schonmal geprüft ob aus allen Zündkabeln ein ordentlicher Funke kommt?
Kabel abziehen, an Stelle der Kerze nen Schraubenzieher reinstecken und auf dem Motorblock halten. Siehst dann ob ein Funke, Fünkchen oder gar nix kommt.
Oder aber, wie Dir alle hier sagen werden, zu BMW fahren und den Fehlerspeicher auslesen lassen.