---------- Post added at 04:49 PM ---------- Previous post was at 02:55 PM ----------
I poked around with your solution and got it to work. It was almost as yours. Thanks

SELECT id, name, MAX( temp ) maxTime
FROM (
SELECT u . * , v.time temp
FROM Users u
LEFT JOIN Votes v ON u.id = v.page
WHERE u.id <>28
UNION
SELECT u . * , m.time temp
FROM Users u
LEFT JOIN Messages m ON u.id = m.page
WHERE u.id <>28
) AS u
GROUP BY id
ORDER BY maxTime DESC