getElementsByTagName restituisce una HTMLCollection ovvero una lista di tutti i tag con quel nome, che sia uno solo, tanti o nessuno.
Se sei certo che di ultimo_messaggio ce ne sia solo uno allora fai
ultimo_messaggio = obj_xml.getElementsByTagName("ultimo_messaggio")[0];
questo vale anche per tutti gli altri tag cercati all'interno del ciclo for ..
xml_utente = xml_messaggi[i].getElementsByTagName("utente")[0];
... e così via ... solo getElementById ti da direttamente l'elemento ... che deve avere un id univoco