After some more experimenting, I believe an apology is needed for the second point: all my tests were done in virtual machines - Virtualbox and Parallels. I have now tried the same using Microsoft's .Net System.IO.FilesystemWatcher and noticed the same problems. Something in the way those emulators handle filesystem changes causes events to not be triggered. My conclusion so far is that it's not a FS::W issue. POE::C::DW:O does work in the same setups though, this might be because it doesn't use Win32::ChangeNotify