by Mark Pearson.
Presumably you're using the same code base with the restored database? Have you checked the actual database with phpmyadmin after the restore? Searching the mdl_course table for the 'missing' courses will show whether they are present or not. There is something squirrley going on -- I restore from mysql database dumps as a matter of course and have never had the problem you describe.