When having e.g. /usr/share as %_netsharedpath, packages owning this directory will try to create this directory. That is caused by skipFiles() in lib/transactions.c whcih compares only `fi->dnl' with the entries of %_netsharedpath. But because `fi->dnl' equals to "/usr" for the directory '/usr/share' (the `share' is in fi->bnl), the %_netsharedpath entry won't be hit and `/usr/share' be installed.
Fixed in rpm CVS, will be in rpm-4.0.3-0.4 and later.