Zkuste
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
který najde max(id) pro každého uživatele v tblimages, pak ho použije k připojení každého uživatele k nejnovější fotografii pro daného uživatele.