Just a thought...
You haven't given an indication of the engine fitted to your car, which may help.
If it is an N47 engine then the following may help. As a BMW specialist we get an awful lot of bookings for just this kind of fault. The presentation is often two key bits of information; the first that the oil level warning shows, or shows intermittently, and secondly that the customer has checked the oil level with the dipstick...and it is just fine.
Those familiar with our business will know that we change around 100 N47 timing chains each year. The mechanism of failure is often pretty straightforward (although it is widely debated); the timing chain expands slightly over time and loses its tension. The tensioner eventually reaches the end of its functionality and there is play in the chain. Over the same period the flexibility in the material of the timing chain guides is lost as they react with the oil and becomes brittle. The loose chain chatters and bangs against the guides which break up into small pieces and they work their way into the sump.
The small trumpet on the end of the oil pick up pipe, and the gauze filter within it is where much of this debris will end up. Quite simply your sump may have enough oil, but it can't get through to the engine to do its job. This generally results in bearing damage.
I would get this checked out by someone with experience, if only to rule out this possibility.
There will be a post on the blog about just this issue soon, so keep an eye on
Peter van der veer bmw and mini – The Blog.