Are you flashing OTA or via USB?
With OTA a firmware mismatch shouldn’t matter as it causes Safe Mode Healer to kick in which in turn updates your system to the correct version and then flashes the app again.
For this you’d need to let the device reboot several times in order to get all the system modules flashed individually.
With USB, I’d first make sure to have most recent CLI (currently 1.22.0) and then perform
particle flash --usb yourApp.bin
But what exactly does this mean?
So the build works but the flash fails?
Or does the app flash but not work as expected?
Yes, exactly. The build farm compiles against another system version and the resulting binary will be able to run on any device with a system same as or higher than the app version.