I have tried this both with the LPO and the Bus Clock.
Also the above is just a sample. In the actual application the watchdog_refreshes are about 300ms apart.
And finally my problem is not missing refreshes, but missing resets.
With a great deal of effort I now have something that appears to work.
Though I can not tell what exactly fixed it.
What I have done is:
In addition to refreshing the WatchDog, I am validating many of the watchdog registers at the top of my 300ms loop.
I am validating that the watchdog is enabled,
that the current count is not 0, that it is lower than the timeout value, that after delaying for 10ms the watchdog counter has incremented,
If any of my tests fail - I reinitialize the watchdog and test again.
If it fails a 2nd time I reset the system myself.
With all of the above I am getting the watchdog to trigger every time I forceably lock up the system - and that was not happening before.
And with my actual application I am getting 8 units on a test bench to run through a weekend, and the wathcdog is reseting them when the application code "locks up"