Using inotify is a bit tricky because of both the USBMS handling and the fuse layer proxy.
You basically have to watch out for unmounts, and re-create your watches when the userstore becomes available again (that takes care of the USBMS issue), and you have to setup your watches on base-us and not us (that takes care of the fuse proxy).
See the <K5 screensavers hack for an example. Which also bundles the required inotifywait tools.
See also
the same basic principle on the other side of the fence for another example of how to deal with USBMS, in C this time.