Non credo si possa cancellare un record utilizzando una subquery sulla stessa tabella.
prova con l'ordinamento ed il limit.
Oppure seleziona l'id del record da cancellare con una select e passalo poi come condizione al delete.codice:DELETE FROM appuntamenti WHERE testo_app LIKE '%AB555XQ%' AND flag_canc = '' ORDER BY data_app DESC LIMIT 1