Віктор, привіт знову,
Я щойно спробував відтворити ситуацію, яка описана в Вашому повідомленні. Я просто зчитую значення атрибуту DESCRIPTION. Мій XML файл виглядає так:
п>ї<?xml version="1.0" encoding="utf-8" ?>
<test>
<obj DESCRIPTION="gyro\acompas">Test</obj>
</test>
Я вивів значення атрибуту (як LPTSTR) на консоль, а також продивився у відладчику. В обох випадках значення одне й те саме - "gyro\acompas".
Напевно вся справа в тому, що я використовую MSXML 6 SP1. Версія файлу msxml6.dll - 6.10.1129.0. У клієнта можливо стоїть MSXML 6 без SP1. MSXML6 SP1 можна завантажити з цього сайту - http://www.microsoft.com/downloads/details.aspx?FamilyID=d21c292c-368b-4ce1-9dab-3e9827b70604&displaylang=en
Я також роблю створення instance так:
IXMLDOMDocument **ppxmlDoc;
HRESULT hr = CoCreateInstance(
__uuidof(DOMDocument30), NULL, CLSCTX_INPROC_SERVER, __uuidof(IXMLDOMDocument), (void**)&pxmlDoc);
Якщо це не допомогло, то будь-ласка повідомте - будемо думати разом. 
З повагою,
Aндрій Ключевський / Andriy Klyuchevskyy
Microsoft Corp.

Ця інформація надається на умовах «як є», без надання будь-яких гарантій і прав. Використовуючи цю інформацію, ви погоджуєтесь з тим, що (і) Майкрософт не несе відповідальності за використання вами цієї інформації й (іі) ви берете на себе весь ризик, пов’язаний з використанням цієї інформації.