Thanks for replying, jdauria.
I haven't had a look at the part myself yet, just took it to an indie mechanic for inspection. He read the codes, found me a "service bulletin" published by BWM - 12-49-06, and asked me to go to the dealership for replacing the DME. He also said, they might give some discount on the part because of the bulletin.
I am not very fond of driving to my local dealership having read the countless bad reviews online.
Do you think I should buy the part online and replace it myself? I heard there is some programming involved which only BMW Dealerships can do, is that true?