Hola... me acordé que tenía en mis favoritos un link que trae un ejemplo del FSWatcher,

sería cosa de que manipularas tú los eventos como rename, created, changed, etc...y conforme a eso tomes tus carpetas y con System.IO las muevas, las copies,renombres..etc... para que no choquen con las demas que coloquen los usuarios.
Te paso el link... espero te sirva...
http://www.codeproject.com/dotnet/folderwatcher.asp
Creo que en éstas líneas es donde está la clave...
Cita: Public Sub logrename(ByVal source As Object, ByVal e As _
System.IO.RenamedEventArgs )
txt_folderactivity.Text &= "File" & e.OldName & _
" has been renamed to " & e.Name & vbCrLf
End Sub
Sería cosa de que lo cheques y luego nos cuentes como te fue..
Saludos