Best Practice for Deleting Records

A few of my system users have commented that the Servoy based system is incorrectly deleting records.

I have a button on a form which opens a second form based on the same table (order):

application.showFormInDialog( 'order_dlg', 50, 50, 400, 200,  'acme',  false,  false, 'acme', true)

This opens a form with two buttons - ‘cancel’ and ‘delete’. The ‘delete’ button has the code:

forms.order_dlg.controller.deleteRecord()
application.closeFormDialog('acme')
databaseManager.saveData()

I understand that the foundset will not change when going from form 1 to form 2.
(…although it may decrease if a user deletes a record while I am being transported)
I am also assuming Servoy will navigate to the correct record even if other users on the system are deleting other records at the same time (since I am not navigating by index). However users are telling me that they are clicking on delete and it is deleting the wrong record.

I believe they are simply seeing the result of other users deleting other records but the users say different.

Is it possible to navigate to the wrong record during this process because other users have deleted records from my foundset?
And is there a best practice for deleting records on a large multi-user system?