К сожалению, единственный способ справиться с этим - выполнить рекурсию вручную.Даже в собственном примере кода Microsoft они делают это таким образом, чтобы избежать сбоя всего поиска, потому что к одному или нескольким каталогам невозможно получить доступ.
Другими словами, используйте только SearchOption.AllDirectories
когда вы ищете ограниченное подмножество каталогов, которое, как вы уверены, не будет содержать каталогов, к которым у вас не будет доступа.