This ia a common issue in ASP.NET development, that if a site is running in a virtual directory like http://localhost/mojoportal and there is another ASP.NET application running in the root folder at http://localhost, the one in the root affects the ones in sub folders because of its web.config file.
So generally its best if you can just keep everything in virtual directories and not have any ASP.NET app running in the root at localhost. However, for folder based multiple sites, the only way to test it is running from the root web site. What I do is generally keep my root Web pointing to an empty folder except when I'm testing folder based multi sites. So most of the time I'm developing using http://localhost/mojoportal, but when I need to test folder sites I just point the root web away from the empty folder and to the same folder the /mojoportal points to. When I'm done testing this I just point the main web site back to the empty folder and resume using http://localhost/mojoportal
For host name based multi sites you can still use virtual directories even though in actual production it will be a root site like http://somehostname, on development I can test it with the first site being http://localhost/mojoportal and the second site being at http://somehostname/mojoportal. All I have to do is add this to my c:\Windows\System32\Drivers\etc\hosts file:
Hope it helps,