I previously asked about this here and got a good answer from @GKmieliauskas
So, I'm finally getting around to experimenting with this and having a bear of a time, but that's fine. I'll probably be posting here a bunch as I get deeper in.
Thinking about it, I think that the built-in FileSystemWatcher class will work for standard Windows files and folders, but I don't think it'd work for geodatabase feature classes.
Basically I'm trying to capture any changes to a given folder, including GIS information. Obviously, Catalog uses some sort of event because it'll repair layers in a map automatically if their datasources have been renamed. How does this work?