Non credo si possa cancellare un record utilizzando una subquery sulla stessa tabella.

prova con l'ordinamento ed il limit.

codice:
DELETE 
  FROM appuntamenti 
  WHERE testo_app LIKE '%AB555XQ%'
      AND flag_canc = ''
  ORDER BY data_app DESC
  LIMIT 1
Oppure seleziona l'id del record da cancellare con una select e passalo poi come condizione al delete.