Você quer:
Você terá que fazer alguma mágica no grupo por cláusula para que isso aconteça.
SELECT id, sender, receiver, MAX(time_sent), MAX(message)
FROM Messages
WHERE sender='$userid' OR receiver = '$userid'
Group By (if(sender > receiver, sender, receiver))
, (if(sender > receiver, receiver, sender))
Order BY time_sent DESC