I've successfully created a new table using MB Custom Tables plugin, and the fields work in the post edit screen as intended.
The error occurs when saving field data using the MB Settings plugin from an options page. Using a Query Monitor plugin I can see 2 methods are firing from the RWMB_Table_Storage class on an options page save.
RWMB_Table_Storage->row_exists with query:
WHERE ID = 0
RWMB_Table_Storage->update_row with query:
ID = 0
The ->row_exists check makes some sense, but should fail as "WHERE
ID = 0" shouldn't exists... but it does. I know this because after a MB Settings page save, I can see a new row was created in the database with the ID 0 in the custom table.
I can't see how this should be an expected behavior. I'm I missing something?