Хм, win2utf конвертит этот символ ~ в квадратик, остальные не проверял.
Odd, сделай плиз, чтобы можно было обращаться к разным ресурсам по ID.
И замени ReadLine на ReadStr, ато она совпадает со стандартной командой - неудобно.
Типа так:
........
OpenRes(1,'List_obj.txt');
while txt<>'end' do
begin
txt:=readStr(1);
OpenRes(2,txt+'.obj');
while txt2<>'end' do
begin
txt2:=readStr(2);
.........
end;
closeRes(2);
end;
CloseRes(1);
.......
Конечно, с текстовым ID удобнее будет, но и так сойдёт. =)