Engine: anything that meets BMW LL-01 will be fine,from experience the M43 is not fussy about what oil it has.
Gearbox:filled for life but if you really really want to change it check for a label on the side of the box, it will most likely be bmw MTF(LT2?)
Diff: not sure on this one but I'm pretty sure it has to be synthetic... I think I used Castrol syntrax...