If I create the simplest possible table and add a column in the list view to edit records, this works fine in Cook 3.0.10. In Cook 3.1.4, the id of the record to edit is not passed on. The effect of this is that a new record is created instead.
The HMTL produced in the list view seems pretty identical and the ids for each row are there. I haven't had time to run it in the debugger to see where it loses the id number. If I generate the component with version 3.1.4, when I get to the display item function, the variable $_REQUEST [cid] has the value "array" instead of the id number (s) or the record selected.