I had a similar problem a few years back, with audio files recorded on the microphone into a directory. I spent most of the project cursing the FileSYstemWatcher and its unreliable behavior, and ended up having the FSW watcher code just put the new files' names into a queue, and handle them a second later. Not the most elegant solution, but it works.