Sometimes the ammount of guessing & fucking about you do trying to find faults like these you would be better booking it in to a bmw dealership paying £45 + vat for a diagnostic test you caould use little diagnostic scanners all day long with stupid fault codes but in a dealerhsip they will work through a test schedule & have a decent answer for you. You could stick a maf on it because someone told you & its still the same. Could be a few faults on this car turbo wastegate? turbo on its road out , inlet manifold burst? maf untill you get it tested properly you could spend a fortune throwing parts at it & couls have most likley saved a bit by getting it tested right first time round.