Hãy thử
SELECT messages.*, T2.photo
FROM messages
LEFT JOIN (SELECT userid, MAX(id) AS maxid
FROM tblimages
GROUP BY userid) AS T1
ON messages.user_id = T1.userid
LEFT JOIN tblimages AS T2
ON T2.id = T1.maxid
ORDER BY messages.msg_id DESC
tìm (id) tối đa cho mỗi người dùng trong tblimages, sau đó sử dụng cái đó để nối từng người dùng đến ảnh mới nhất cho người dùng đó.