[Just documenting this in the hope it helps someone in future.]

I moved my Drupal base folder, from example.com/blah to example.com. After editing the settings.php file for the new path, the site worked okay, and I could login as administrator; but I couldn't access any pages in the admin area. That is, I knew I was logged in, because I could view my user data, but all site administrative pages were Page Not Found.

After a couple of agonising hours, I looked in the "admin" folder on the server and found it was completely empty. Wait a minute! Drupal isn't supposed to have an admin folder!

My server file organisation is very untidy. I'm on shared hosting with the "Fantastico" installer; and over the last year or two I've installed and played with probably a dozen different CMS/blogging/shopping cart systems. Fantastico sometimes fails to smoothly uninstall packages, so there are numerous files and folders lying around unused. When I tried to access pages with the URL example.com/admin/blah, the empty admin folder conflicted with Drupal's generated URL. The solution was simply to delete the unwanted folder.