I am not sure IF there is much of a difference between BMW and OE and OEM parts. Normally there is. But on a ballast ? IDK.
As for coding the FR3 module.. I don't have any experience in this. I've only used "Carly" to read fault codes and code my car. Maybe user
MightyMouseTech can help you out. ?
Why not stop by your local dealer... and ask to talk to one of their techs. I bet they might be of some use. Bring something nice for the guys.. donuts, beer, etc.
Worse case scenario... most dealers can update all your ECM's for usually one or two hours labor. That would re code your FR3 module. You might also ask about that extended warranty on them too.
Dackel