BMW Repair Questions? Ask a Mechanic for Answers ASAP
First of all, you shouldn't have replaced the old ECU, most likely it is still good. To replace the ECU with another one, you have to reprogram the new ECU to match the VIN numbers, the mileage, etc. and that is a very long procedure. You should put the old ECU back in the car. When the engine cranks but doesn't start you have to check which of these you are not getting: air, spark and fuel.
To check for air just simply remove the air filter housing and check if it is not clogged, but that would be the last cause for not starting condition.
Most likely you are not getting the spark or the fuel.
To check for spark remove one of the ignition coils, put the special adapter on the end of the coil, crank the engine and see if you have a spark. If you do it is not the problem then.
To check for fuel delivery is gonna be a little more complicated. Open the gas tank and as soon as your turn the ignition to on position you should hear a buzzing sound coming out from the gas tank. If that little noise is there the pump is getting the voltage supply that is needed and is working. Another way to check is to connect a special fuel adapter into injector rails and connect the pressure gauge and as soon as you turn the ignition in on position you should see the pressure rise instantly to about 3.5 bars or about 50 psi. If the presure is there you have to check if the injectors are opening and closing by disconnecing one injector connector and putting a noid light into the connector. Crank the car and see if the light is flickering. If it is not it means that you have a problem with crank sensor or cam sensor.
Check all that and let me know if you need more assistance.