Transaction on delete is committed, but for a brief time the entries can still be read?
(I can't answer your question, but maybe the following will eliminate the problem you are seeing.)

For long-running tasks (more than a few seconds), consider this technique:

SET autocommit=1;
UPDATE Tasks SET owner='me' WHERE task='use_car' AND owner IS NULL;
if ROWS_AFFECTED == 0  THEN
     Do something else, or wait, or whatever

START TRANSACTION;
...
COMMIT;

UPDATE Tasks SET owner=NULL WHERE task='use_car';


Notes:


The 'task' stuff is kept outside the transaction.
Each UPDATE is atomic, so a simple autocommit suffices.