As the original developer of the DB interface, I'm interested in this thread. I had a similar problem to the OP when I tried 4.8 under Windows, but when I tried looking a bit at the code, I found it had changed so much since I was last involved, and unfortunately didn't have much time available to try relearning!
But as a general point, the original design tried to distinguish between application version updates and database version changes (though normally these would go step in step). To this end, the kmmFileInfo table contains a 'version' and a 'fixlevel' column; IIRC, the former indicated the database version and the latter corresponds to the application version. If the database layout changes in any way, the database version number should be updated. When an existing database is opened, the database manager should detect the change in version and create/delete/alter any tables/columns as required. As for naming a column 'order', I'm at a loss to understand how that worked, because I'm pretty sure that's a reserved word in all versions of SQL! -- Cheers TonyB