Ok, the first step I would recommend is to try bleeding the system again. The coolant filling and bleeding procedure is often not done properly, which can cause the no heat problem you are having.
All the bleeding is done cold, engine
off, while filling.
For the bleeding procedure: The proper way to fill the system is as follows:
Engine completely cold, and off.
Open bleeder screw, or remove.
Fill coolant slowly... until bubble free coolant comes out of the bleed hole. Don't be afraid to overfill the tank. Once bubble free coolant is coming out of bleeder, install and tighten bleed screw gently.
Then suck out any excess coolant from the tank.
Run the engine with the heater on, for a few minutes until engine is warm. Rev engine a couple times to 3k rpms, the heat should start working.
According to your vin number your 740il should have the thermostat with the electrical connector on it. That's what fault code 140 is referring to. If the thermostat is unplugged it will set fault 140. The connector for the thermostat may be hidden somewhere if you're appears to be missing. Some times the connector for these thermostats melts and can cause other issues with the engine computer.
Image below is what your thermostat should look like.