I recently had a hell of a time trying to upgrade a client's site, and in order to keep the site up while I worked on setting up a later version, I installed WP in a second folder. We'll call the location of the first folder "mysite.com/wordpress-1", and the new install's location "mysite.com/wordpress-2". The site ran on the wordpress-1 install while I worked.
I set each one up with a separate database (and their wp-config.php files reflect this). I simply cut and pasted the few pages there were from the first site to the second. When it came time to take the new install live, I went into wordpress-1's database and changed the siteurl and home entries to read mysite.com/wordpress-1, so hopefully that'd be the only place it was accessible. (Originally the "home" value was the root.)
I went into wordpress-2's db and changed the home value to the root. I changed the index.php in the root to read require('./wordpress-2/wp-blog-header.php'); so it'd go get the second install.
However...it doesn't. It's still using the first site in the root, and although it doesn't do this at first, as you move through the navigation it starts adding the folder "wordpress-1" into the url. The nav is set up using <?php bloginfo('url'); ?>/then_the_page_name in both cases, so the base url isn't hard coded, although the page names are. Whatever's happening, the site clearly thinks the wordpress-1 folder is in charge.
Is there a url in the database besides "siteurl" and "home" that I've missed? Did I skip some step in setting up?