The DbCreator wizard (tools/DbCreator/src/w_dbCreatorWizard.pas) only recognises single column primary keys: it looks for a primary key index with exactly one column. A primary key made of several columns matches none of them, so the generated code treats all of those columns as ordinary columns: they become out parameters of the generated read function instead of its key, and they are read from the table instead of being skipped as the key. The generated code also has room for exactly one key (KeyParam, KeyType).
Requested: generated read and write functions that take one parameter per key column, with every column of a multi-column primary key recognised as part of the key.
Also tracked as issue 135 in dzlib's ISSUES.md.