Morning Gareth
A scan would be my place to start, your issue could be a failed relay or starter a blown fuse or failing ignition switch even the gearstick inhibitor switch (try starting in N)
The fact that the battery disconnect seemed to work as it reset all fault codes temporarily. Get someone with BMW1.4.0 or INPA or a BMW capable Fault reader to scan the car and go from there
Good Luck
Dave