A few weeks ago my sunroof decided to spring a leak and give the middle connector of my LCM a shower! It drained the battery and caused some lighting faults. (This has happened before

but I believe I have permanently fixed the leak now).
One of the pins at the bottom of the connector had corroded and then snapped off. So I sent the LCM away to have a new connector soldered on and all of the LCM's functionality tested. All ok according to the technician!
The symptoms are:
- headlights coming on with ignition regardless of switch position
- indicators not lighting up on dash but they do flash outside the car
- and a weird one, the voltage no longer displays on the ibus app since this issue!

So I fitted the fixed LCM back in the car but the same problems persist! I then noticed that a couple of the pins in the female side of the connector were super corroded and had fallen apart. So I ordered new pins and crimped them on. I thought that would fix the poor connection but, nope! Same problems.

I've checked all the pins and connections. They all look good!
Does anyone know what, or what wire could be causing these specific faults? Wiring is my least confident aspect of cars. I look at wiring diagrams and I might as well be looking at quantum physics!
I also now have an airbag warning light as the water leak caused my battery to go completely flat for a few days. Can this be cleared using the BMW 1.4 coding software? It's all I have (not even used it yet, complete noob).
Thanks in advance for any help!