i could honestly be quite a few things. like your were told, possibly the computer. it could also be as simple as a shift selector switch or wiring. at worst it could be the trans going out.
you will need to take it to a mechanic that actually knows what they are doing. there are a lot of ok mechanics out there, but knowing the ins and outs of BMWs are not quite as simplistic as some other vehicles. a lot of people will try and scam you though so be careful and definately get other opinions!
color: anthrecite metallic
wheels: style 89 E66, 19X9F 19X10R
ext. lighting: 8000k D2S & LED plate light
*want to get sport rear diff*