Those xml endpoints are pretty unreliable and anything that uses them should probably be considered deprecated. Using the WebAPI for anything that it covers is going to be your best bet.
That's expected behavior. If it's no longer connected to Steam, the data may be stale. Cache it somewhere else yourself if you need it after disconnect.
That error code indicates that your item ID is wrong or doesn't exist. Some people have reported that item descriptions now contain invalid asset IDs which you need to filter out if you're parsing inventories yourself.
client.chat.on('chatMessage', function (message) {
// message is an object that includes chat_group_id and chat_id properties
// ref: https://github.com/DoctorMcKay/node-steam-user/wiki/SteamChatRoomClient#incoming-chat-message
});