Hello tam11,
There are flags on the FS_DIAG_SAFETY1 register that allow you to identify when there is an watchdog issue.
After the reset, check these bit fields:

To avoid being stuck on that loop, you have to change the choices when running your software.
Here some hints on how to detect your MCU might be on that loop.
1 - Write on FS26 memory a key that represents your start-up attempt number
-> at first start-up with Battery fail, read the memory (NULL?) and write a know different value.
-> at next reset, read the memory, if the value is your know value, it means the device was reset. Change the value to the first software debug mode and change your flow (disable a resource?) to try avoid the blocking loop.

If you go to DFS:
1 - Check wake-up source on FS26 M_WIO_FLG > WUEVENT[3:0].
-> If Battery fail, do your normal configuration and software execution.
-> If DFS recovery, you might be in that case.

2 - Read M_SYS_CFG -> RETRY_CNT[7:0] to check the total number of retries attempts (value).
-> If your device is at the first retry attempt (first restart) then do something, if is the second, do something else.
Do not clear the retry counter RETRY_CNT[7:0] using RETRY_CLR.

Hope this helps you.
Miguel.