Hi,
Joe is right its a problem moving a site with existing content from a root level url to a virtual directory because all the page urls would have the folder in the url if the content was created in a virtual directory but since the content was created in the root it will be missing the folder name part of the url for all urls in the mp_FriendlyUrls table and mp_Pages table and mp_Blogs table etc. If you don't have much content yet it wil be easier to start with a clean db in the site after moving it to a virtual directory, otherwise it can be fixed by adding the folder into all the urls in the tables mentioned.
However the error you report is a very common .NET error that happens if you have one .NET app running in the root and another running in a sub directory then the web.config settings from the root will interfere. You can get around it by wrapping the system.web section in the root site's web.config in a location element and disabling inheritance in child sites. Do a little googling about the web.config location element and how it is used.
Hope it helps,
Joe