As mentioned before Andy you have quite sensibly eliminated the 'other' common possible causes of an emissions fault code including sorting cracked manifold replacing sensors etc etc. Fuelling faults caused by these going down do damage a catalyst, the logical conclusion is that it's a faulty Catalyst. This is not an E85 2.0 issue, or even a BMW issue that fault code is very common and although extraneous causes are vary on make/model once eliminated a new Cat usually returns the car to good health.
Unfortunately we have to accept parts like a cat don't last for ever, mines 10 years old now and assume the Cat may go, it's an inevitable running cost