Причината това да не работи е, че MySQL не ви позволява да препращате към таблицата, която актуализирате (можете) в рамките на подзаявка.
Това обаче може да бъде преодоляно чрез използване на заявка вместо самата таблица в FROM, което има ефект на копиране на исканите стойности на таблицата, вместо препратка към тази, която актуализирате.
Толкова ефективно това, дори и да е противоинтуитивно, ще работи :
DELETE FROM cancome WHERE user_id IN
( SELECT user_id FROM (SELECT * FROM cancome) AS cancomesub
GROUP BY user_id HAVING COUNT(user_id)>3 )
limit 3