If you are running the E36 motor from the E30 ECU, that is your #1 problem. Did you put the E30 intake manifold on it? The E36 one is a dual-track one that is completely incompatible with an E30 ECU. The cam differences do not help either. You will need to run it from an E36 ECU, OR put an E30 intake manifold on (+ E30 fuel rail & injectors, the E36 used different ones) and swap in some E30 cams.
As for the overheating...
Did you use any gasket sealer on the thermostat housing gasket? If so, it can gunk up the air-bleed passage in the housing, causing a lot of issues. Pull the cover off again & check to make sure the little groove between the 2 "chambers" is not plugged. As far as the heater core business, I have never bothered with that on the M42 when bleeding the system. From the design of the water system, it looks like any additional air in the system can bleed out on its own into the expansion tank. Of course you should do everything you can to get air out yourself, but the heater core is not as big a deal as it is on other cars.