Stai eseguendo un GROUP BY
parziale che non funziona come ti aspetti. Ecco una query che produce i risultati desiderati:
SELECT MAX(id) AS MAXID, user_id
FROM `table`
GROUP BY user_id
ORDER BY MAXID DESC
LIMIT 4
Il comportamento è spiegato qui :