I would take it to a well recommended Indy shop that specializes in BMWs. It doesn't take three weeks to figure out a parasitic drain on the battery. The majority of the time a drain can be found by removing one fuse at a time and checking for reduction in load on the battery.
Depending on the problem you can send off the cluster for repair or purchase a rebuilt one. Attached will be helpful as it is very easy to DIY.
https://www.youtube.com/watch?v=3xXxgiXmHhg An Indy that specializes in BMWs can do the cluster coding.
Depending on the problem with the Nav unit and that the intention is to keep the vehicle for a long time you may want to consider an aftermarket unit such as Dyavin.