The method that I prefer is to write a timestamp to a (INI) file on the script share whenever you make a change that could invalidate token caches.

When the login script runs it checks the timestamp against one held in the local registry. If the registry timestamp is older then the token cache is deleted from the registry, and the registry timestamp is updated.

This allows you the benefits of the token cache under normal circumstances, but also allows you to update the timestamp and flush the registry whenever you need to.