Ну, что можно сказать...
А не приведете сигнатуру метода Add - какую строку он принимает, 1- или 2-байтовую? И стоит, наверное, узнать на автокадовском форуме - какой кодировки ждет автокад?
Если Вы передаете строковую константу - то она всегда идет в win cp1251-кодировке, т.к. константы хранятся в 8-битовой форме. Т.е. даже если она приводится к 2-байтовой WSTR, то русские символы кодируются не Юникодом, а в диапазоне 127...255. Возможно, это приводит к проблеме.
Попробуйте передавать не через константу, а через переменную, при этом вот таким образом:
Код:
IMPORT National (* Это модуль русификации ядра *)
...
VAR s: ARRAY 256 OF CHAR;
i: INTEGER;
BEGIN
s := 'Русский текст'; (* сейчас в s лежит текст в win-сp1251-кодировке *)
FOR i := 0 TO LEN(s$) -1 DO
s[i] := National.ConvertToUnicode(s[i])
END;
(* вот теперь текст в s лежит в настоящем юникоде *)
(* и теперь уже передаем в Автокад *)
yourCOMObject.Add(s)