Не прав был бы водила БМВ. Потому что при обнаружении препятствия он обязан был тормозить.
Встряну опять и подниму старую болячку. Обязан безусловно был, но виновность зависит от момента возниконовения опасности. Если водитель БМВ въехал на перекресток в дежурном режиме (сбавляя скорость или не сбавляя - ПДД сбавлять скорость перед перекрестком не требуют, и тут перед ним выскакивает машина с фактически второстепенной на данный момент дороги. Боюсь, что без свидетелей, которые показали бы, что другое ТС стоит на перекрестке количество времени, достаточное для соответствующих ПДД действий (торможения не меняя полосы) и экспертизы, показывающей что при данном конкретном раскладе такие действия приведут к избежанию ДТП - вину на водителя БМВ никто бы и не возлагал. Естественно, если бы было доказано, что светофор показывал нерегулируемый перекресток в момент въезда БМВ на него. Скользкий вопрос.
Точно также обязан тормозить и водитель, которому не уступили дорогу (Вы же не будете отрицать наличие ДТП типа "не уступил дорогу" и сводить их все к ДТП типа "наезд на препятствие"), но виноватым это его не сделает.
P.S. Но с одним соглашусь безусловно - включение перед дежурным режимом режима, запрещающего движение во всех направлениях было бы безопаснее. Хотя это подходит под определение "показания противоречат друг другу" из п. 102 ПДД и согласно этому пункту, такие сигналы следует воспринимать как неработающий светофор и считать перекресток нерегулируемым - имеем то же, что и в дежурном режиме. Однако водители бы повысили внимание в момент переключения сигналов и было бы безопаснее.