divinelighting:
Twice now I have had seo_cache table disappear, which breaks the catalog. In neither case did I make any database or file changes between when it was working and when it stopped working. There are no other known issues with the database. Any ideas on how this could happen?
A check is done for each request to the store to see if the plugin is properly installed (and does not currently include a check for the "seo_cache" table). If the plugin detects something is broken, it attempts (among other things) to remove and re-install the "seo_cache" table. The only way the re-install is triggered is if the plugin settings have not been installed or accessing the database fails (intermittent connect, read, or write issues).
The "seo_cache" table can disappear if for some reason on your host the script stops running during this process (hosting issue), your user does not have permission to create tables (database permissions issue), or your database becomes unavailable during the uninstall / install process (hosting issue).
As a stop gap, you can disable removal and creation of "TABLE_SEO_CACHE" in seo.install.php. Intermittent database access issues may cause you other problems down the road - and the default settings for your plugin will be used instead of your configured ones when these are encountered. But at least the "seo_cache" table should not disappear.