No estoy muy seguro porque me he descolgado un poco de este tema, pero la resolución de nombres en Windows no se hacía sobre la base de DNS o asignación en fichero hosts como en unix. Windows utiliza NetBios para el servicio de browser, en el que cada máquina se registra individualmente en la LAN (frente a la asignación centralizada que representa el DNS).
El servicio NetBios (habitualmente prestado sobre TCP/IP como NetBEUI que es lo que implementa el SMB que es precisamente el objeto de simulación de SAMBA) no se lleva bien con la transición entre redes reales ni virtuales, salvo que se defina un servidor WINS (algo remotamente parecido en cuanto a funcionalidad a un DNS exclusivo para nombres en red Windows).
No tengo claro que este sea el problema porque el que a veces te vea y a veces no es algo más raro. Como los nombres tienen que desplegarse por la red, no es inmediato que el servicio browser lo muestre y pasa algún tiempo hasta que aparece (creo que se comunica por broadcast), pero no sé si es eso lo que ocurre.
Podrías tratar de incluir tu dirección IP en el fichero LMHOSTS del equipo de tu amigo, asociando el nombre de la máquina con la dirección IP. Así, teóricamente, podría acceder siempre por nombre y no necesariamente por IP aunque no tenga identificado el nombre NetBios (aunque esto no resuelve el problema).
A ver si te ayuda algo …