Может они действительно изначально пересекаются?
И ещё конечно нужно добавить проверку, чтобы объект не просчитывал пересечение самим с собой.
Либо составить другой цикл, который просто не будет делать дублированных проверок. Я о том, что сейчас у вас например идёт проверка объектов 1 и 5, а потом проверка объектов 5 и 1 - что является одним и тем же.
Более подходящий вариант для данной задачи:

Код AS3:
for (var i:int = 0; i < arr.length; i++)
{
for (var j:int = i+1; j < arr.length; j++)
{
if( arr[i].hitTestObject(arr[j])) trace ("пересечение объектов", i, "и", j)
}
}