Hi Gavin and Patricia.
Changing the window period or the active period doesn't have an effect on users who are currently certified. The next time they recertify, the new periods will be used to calculate the next window open date and expiry date. Users who are assigned but not yet certified will use the new settings.
Unassigning and reassigning would cause the period to be updated, but that's not a good idea. The completion information might be restored correctly. There is a tool available to fix records that have been restored incorrectly, but you're better off not getting in that situation to start with.
The reset due to unassigning and reassigning only happens if the user assignments are actually processed in between. If there are more than 200 users involved in the cert, user assignment processing will be delayed until the next cron run (deferred user assignments are processed every cron run, not nightly). If you unassign and reassign before cron runs then it should be the same as making no change (and the window open dates wouldn't be changed either).
I probably shouldn't be suggesting this, but your db update is probably fairly safe. Especially since the window open date is fairly isolated (it's used to open the window and nothing else). But I don't recommend getting in the habit of fixing things this way. Just make really sure that you're updating the correct records - add a "WHERE timeexpires > 0 AND timewindowopens > 0" just to be safe, and obviously make sure it's the correct set of users/certs. And do a db backup first!
But if you can wait a bit longer, there is currently a tool in development which is designed to do exactly what you want to do. It lets you apply any changes you've made to the active period or the window period to users who are already certified. It will be a separate download, but integrates into Totara. It's currently being tested, and should be released soon (hopefully within the next month) if no other problems are identified.
One more thing: Window period of 1 day means that the window will open one day before expiry and the user must complete all courses required for recertification in that same day, or else their certification will expiry. There's nothing to stop you doing that, but it sounds unusual.
Nathan