К моему сожалению большому, но так сложилось исторически, что в АПИ доступа к карте нумерация слоев идет с 0 и до Count-1, в GIS ToolKit
в классе TMApLayers с 1 и до Count, а в MapSites.SiteLayerName как в АПИ.
Поэтому в следующем выпуске GIS ToolKit MapSites.SiteLayerName уберем вообще, а вместо нее вы можете пользоваться
MapSites.MapLayers[i].LayerName.
Таким образом ваш текст как для основной карты так и для всех открытых вместе с ней должен выглядеть так
// для ускорения работы с большими классификаторами рекомендую сразу определить номер карты по имени файла, а не выполнять поиск каждый раз
siten := MapView.MapSites.FileNameSites[Node.Text].Number;
// для основной карты siten = 0
for i:=1 to MapView.MapSites[siten].SiteLayers.LayerCount do
begin
NodeParent:=TV_ListObj.Items.Add(nil,MapView.MapSites[siten].SiteLayers[i].LayerName);
for j:=1 to MapView.MapSites[siten].SiteLayers[i].ObjCount do
begin
NodeNow:=TV_ListObj.Items.AddChild(NodeParent,MapView.MapSites[siten].SiteLayers[i].ObjName[j]);
end;
end;