Та это было в форме предположения, может быть при выделении каких то объектов на разные типы срабатывали свои события, то есть выделил 100 объектов, 10 линий 5 таблиц 30 блоков и эти 100 объектов разошлись на твои 6 событий, но если одинаковые то хз.
В общем покрутил немного, имхо тут только создавать списки, где будут храниться выбранные объекты и сравнивать при выборе, что бы обработчик прекращал работу если объекты выбора не изменились.