>int Index = ListBox1->ItemAtPos(Point(X,Y), true);
ここは ListBox1 で、

>if (Index >= 0 && Index < ListBox2->Items->Count )
>ListBox2->Selected[Index] = true;
こっちは ListBox2 だけどあってんの?