As for a bit more context/answers to questions -
A new solenoid pack from BMW? I thought these can't be ordered anymore separately. A "known" failure of the solenoid pack is the solder joints. Also the terminal "legs" that go to the circuit board a quite long and might cause additional stress on the solder joint. Adding epoxy/glue should prevent it. Your last error code might have to do with that.
I also have the 'upgraded' Beisan coil pack with similar results.
Did you do any adjustment on the cam timing between these posts? Because they seem to drift.
What I also seem to have found is that the Cam sensor codes 10 and 15 will consistently appear (after clearing) on startup after letting the car sit. If I clear the codes and then allow it to run and then check again, the codes will not come back - in the garage idling at least. INPA reports voltage to the sensor and RPM at the time of the error, and the voltage is less than 12 volts (usually around 11.4). It may be that at startup, not enough voltage as expected is getting to the sensor and it is sparking the error. Checking the mss54 wiring diagram, the DME main relay and fuses are being fed by an 80amp fuse whereas in my scenario, I need to check how the swap wiring is currently being handled from the battery and cutoff switch.
I am going to follow Sapote's cam check procedure (thank you for the detailed write up Sapote), check wiring, maybe order a BMW sensor, have a look through Testo and then I will report back with findings. Thanks again to you both.

Leave a comment: