Ваше решение с System.IO.File.SetLastWriteTimeUtc
не позволит вам дотронуться до файла, если файл используется. «Хакерский» способ прикоснуться к используемому файлу - создать собственный файл touch.bat (поскольку в Windows такого нет, как в Linux) и поместить его в \ windows \ system32, чтобы вы могли вызывать его из в любом месте без указания полного пути.
В таком случае содержимое touch.bat будет (вероятно, вы можете сделать это лучше без временного файла, у меня это сработало):
type nul > nothing.txt
copy /B /Y nothing.txt+%1% > nul
copy /B /Y nothing.txt %1% > nul
del nothing.txt
РЕДАКТИРОВАТЬ: Следующее свойство может быть установлено для заблокированного файла: new FileInfo(filePath).LastWriteTime