If it uses a BMW immobiliser ie EWS which is cerca M52 then a common problem is for the EWS and DME to step out of alignment and not transfare the rolling code, hence non start. You need to use a decent quality diagnostic computer to realign it. That is of course assuming its an EWS system, all...