I found the problem and the fix was tested by the product engineer who reported it. The problem was that AbstractHierarchicalConfiguration was calling setDetailEvents while unlocked. Multiple threads would get in and so the ConfigurationListener was never notified of the event. I just had that reload method synchronize on the delegate lock before calling setDetailEvents and the problem went away in my tests. I have no idea what the purpose of setDetailEvents is but it certainly wasn't designed to keep track of what multiple threads are doing.
I hope to have time at ApacheCon to work on VFS and Configuration2. I'd like to get VFS released even if it has bugs left to fix. And it would be great to get Configuration2 to a point that it can be used. One of my first goals - after you get rid of the duplicate classes - will be to make HierarchicalConfiguration be an interface with only the APIs available that callers should be using. Next, get rid of the attribute splitting and delimiter parsing.