There are numerous issues that can cause this, but it sounds like a fault has developed, the ECU has registered it and put the car into limp home mode. My car did similar and it turned out to be the crank sensor. £20 to replace. A BMW will start no prob with a faulty crank sensor.
If you took it to Haliwell they would charge you £65 for the diagnostic, Trenics in QFerry would be a bit cheaper.
I wouldn't waste any time trying to guess the fault or replacing parts on the off chance. Just pay for the diagnosis it will save you money in the long run. The MAF, 02 Sensor, crank, cam, ecu and fuel pump can all cause this and I'm sure you wouldn't want to replace them all.
Many BMW's don't throw ECU lights. The readout is quite good as your ECU will say how often the fault has occured too.
Edited by Neil_c (15th Jun 2010 10:50pm)