General Module is the electronic, the brain, the decision maker, but it has no way to manage huge amps, so it drives the relays in the Relay module so they can switch on or off significant currents as consumed by interior lighting, wipers, locks, and windows. In an E34, these functions are not simple, as the car (GM) evaluate different conditions and thus operate various systems accordingly, for example, locking the car may also trigger the windows circuit to close all them together, leaving a door open will turn on interior lights but later on, in a timed manner, will be shut off to protect battery; wipers system evaluate your desire in the delayed operation so to match it automatically, also switches mode depending on car speed; locking system observe the operation of the locks to pop out if they fail locking, also check the status of drivers door, even more, if driver door have not open and closed after an engine turn off, the lock down locks mechanism and factory alarm will not engage. This functions require some intelligence to be carried out, and the electronics (though simple) will handle them, but again, the proper interface should be provided in order to convert low current signals, as handled by the electronics, in high power, as requested by the motors and bulbs.
The General Module receives information from different switches around the car, mostly, as connect/don’t connect to Battery +, these are fed by the small fuses in the module, also handles the coil of the different relays in the relay module, must of them fed by the 30A fuse F30.
I’ve heard that the location of the Battery, right next to the General module, imposes a huge compromise in the connections it involves, as a matter of fact, I do always take good care of the tiny hose taking all the battery gases out of the car, My battery has never shown any sign of corrosion on the posts, nor the GM compartment has shown any sign of acid corrosion caused by the battery fumes or spills.
I told Ryan to check proper grounding of the GM pin 2, just because if this ground is not OK, though the GM operates its internal switch (Electronic switch) to energize the Relay module relays coil, it closes its switch passing a ground that is not there, so GM is OK, Relay module is OK, but nothing works OK. You may swap as many GM and RM as you wish, nothing will change; unless the problem is in the socket contact and plug/unplug operations clean and solve it.
My experience is that BMW electronics are pretty good (not infallible), not the connections though, If I were to debug a failure like this one, I would start unplugging the GM and RM and cleaning/spraying the plug contacts so to get better contact when plugged, also would check ground connections in the under seat area, and would verify presence (and in good voltage) of all Battery + and Ground feedings in the GM and RM connector sockets, even those that are received trough position sensing switches and operating switches. I understand this sound scary and that only professionals can do it, but believe me, a good voltmeter/ohmmeter, some spare copper wires, and a lot of time / patience, will do the magic.
Please excuse my bad English, as it is not my mother's language.
Javier