Sorry my fault, answering before understanding the question completely.
I think that is more a picking problem. In the second version the overlap (128,0) is already in (128,-128) covered. So it picked only the (128,-128), I guess. I also think that the for each is a problem. In this sub event it has only one choice, because the for each picked one raildetector.
If you have an and event with two conditions it can only be one picked. If you want that all raildetectors with overlap (128,0) and (128,-128) are picked you need and 'or' event.
I hope that makes sense. I'm not sure myself, without an example is only guessing.