wcache_invalidate_samlogon is only called directly before netsamlogon_cache_store(), that's why it should not turn into a noop with "winbind offile logon = yes", as the cached vales in winbind_cache.tdb would hide the new netsamlogon_cache.tdb information.