DJI firmware contains multiple modules for different functions. For example one for the camera, one for the ESCs, one for the flight controller and so on. The important one is the flight controller module(s) because the modified parameters are stored and used within this part of firmware. These are modules 305 and 306. For the Noflyzone it is module 905. The mixing of the Firmware seems not possible anymore with Firmware V01.04.0400 and higher. It will lead to Error 200 which will prevent take-off. Stick to V01.04.0300 as bin file to delete the modules from. For downgrading a Mavic Pro to 1.03.0700, it requires the internal SD Card to be installed, which is not the case for newer versions of the Mavic. As a rule of thumb, one can say, that if your Mavic was delivered with a Version newer than 1.03.0700 (e.g. 1.03.1000), no internal SD Card is installed. This can only be fixed by a harware modification

DJI have made changes that prevent parameter changes in some of their recent firmware. To get all benefits from more recent firmware, without the downside of losing parameter changes, you will need to delete modules from recent firmware.

The last tweakable firmware versions that allows all parameter changes are:

Model Version Spark 1.00.0300 Mavic 1.03.0700 Phantom 4 1.02.0503 Phantom 4 Pro 1.03.0509 Inspire 2 1.00.0330

So. What is it we want to do here? If you are upgrading beyond the firmware versions listed above, you will need to remove module 305 and 306 from your firmware file before flashing. You can read about the different module components here.