I tried using invalid table numbers (negative, zero, unused) and in each case I get a Table Not Open error, not the 4180 error.

I am starting to doubt that the problem is with the SQL connectivity part.

I ran the SQL Profiler and when the "get_attribute DF_FILE_IS_SYSTEM_FILE ..." line executes, there is no SQL activity displayed. So I'm thinking this attribute is handled by the database API layer (perhaps determined when the file is opened) and querying it doesn't get into the CK driver level code at all? Still doesn't answer why the error is produced, but maybe this indicates it's not a CK problem?

I have added code to our error logging so we can see which of the tables (in this case, one of five) is triggering the error in case that sheds any light on it.