Sorry for asking the obvious; how do you know your firwmare is not updated? Do you have a version number you can check? (or something else that is unique to your new code like a LED pattern or pin flip)
When you see the FW download finishing, do you see the particle device LED flashing an SOS error or is all well?
Is the device part of a product? Unless it’s marked as a developer device as soon as it reboots after you flash it manually it will get reverted back to the released product firmware or lock and flashed firmware.
You can also submit a support ticket. Be sure to include the device ID so the cloud logs can be checked.
Also double check your binaries. For the firmware binary file:
particle binary inspect firmware.bin
Make sure the platform is correctly set.
Also you can check the device in listening mode after flashing to see if there’s anything unusual: