Yes I have seen this behaviour as well, which responds to the addition of an index.
I usually anticipate this and add a a field to the MySQL table as outo-increment integer as the primary index.
I think the problem stems from the fact that in some contexts, like only some of the fields are in the app's querey,
the records the app sees in the dataset extracted by the Devart queri eare not unique enough when the instruction
to delete/update is reinterpreted by MySQL.