Qualcosa del genere potrebbe funzionare più velocemente perché non utilizza l'istruzione IN che potrebbe essere ripetuta più e più volte su una tabella in memoria. Eseguire il backup e provare
DELETE
FROM `table` main
WHERE STR_To_DATE( main.Timestamp , '%a %b %d %H:%i:%s CST %Y' )<
(SELECT MAX( STR_To_DATE( sub.Timestamp , '%a %b %d %H:%i:%s CST %Y' )
FROM `table` sub
WHERE sub.Retrieving_User = main.Retrieving_User )
AND main.Retrieving_User = 'userID'