Given two modules with each a ModuleInitializer defined, one assembly will win, the other ModuleInitializer will be ignored.
The static constructor of the root <Module> class should never be ignored, but appended to each other (i.e. truncate the trailing ret instruction, then append the other modules <Module> class static constructor).