questo ti capita principalmente quando metti il web.config principale in una posizione diversa dalla root.
se vuoi controllare gli accessi alle sottocartelle puoi inserire all'interno di ciascuna cartella un web.config con i permessi relativi all'accesso, ma il web.config iniziale dove dichiari il tipo di autenticazione ad esempio ed i vari provider deve essere univoco e deve stare alla cartella root del sito.
la cartella virtuale non si imposta dal web.config che appunto non essendo nella root crea solo errori, ma da IIS. se in IIS creassi la tua cartella virtuale allora avresti la possibilità di mettere nella root della dir virtuale il tuo web.config
quello che stavi cercando probabilmente è
<location path="." inheritInChildApplications="false">
da mettere nella root del sito primario (non nella cartella virtuale), ma non risolve il tuo problema.