If I poll the RCC_CSR reg at least 3 times I then see the ''reset reason'' bits appear after an unclean reset. Contracted ST app engineers. So far they have not confirmed or denied but, for now, this wfm:
main() { for (int i=0; i<10; i++) if (RCC->CSR & 0xFF000000) break; : :