It’s not necessary to set the setup done flag on a Xenon, only an Argon or Boron.
The most common reason for staying in listening mode is that you have a bootloader that needs upgrading. Normally you’d go into safe mode and it would be downloaded from the cloud, but since you’re using the device standalone it will go into listening mode instead of safe mode because there are no credentials set.
If you manually flash the system part, make sure you also flash the matching bootloader on the Xenon in standalone mode.
The same sort of thing could happen if you’ve built your user firmware targeting a newer Device OS version than is on the device.
To find out if there are unmet dependencies, connect the Xenon by USB and while in listening mode:
particle serial inspect