I confirm this. It looks like a bug.
My research note: Before the profile is selected, PreSelect event is fired only when preselected profile is changed. After the first profile is selected, the PreSelect event fires several times when the mouse moves over the selected profile.
Here is simple iLogic test code.
Sub Main()
Dim oInteractionEvents As InteractionEvents = ThisApplication.CommandManager.CreateInteractionEvents()
Dim oSelectEvents As SelectEvents = oInteractionEvents.SelectEvents
SharedVariable("SelectEvents") = oSelectEvents
SharedVariable("InteractionEvents") = oInteractionEvents
oSelectEvents.AddSelectionFilter(SelectionFilterEnum.kSketchProfileFilter)
AddHandler oSelectEvents.OnPreSelect, AddressOf SelectEvents_OnPreSelect
AddHandler oSelectEvents.OnSelect, AddressOf SelectEvents_OnSelect
AddHandler oInteractionEvents.OnTerminate, AddressOf InteractionEvents_OnTerminate
oInteractionEvents.Start()
End Sub
Private Sub SelectEvents_OnPreSelect(ByRef preselectentity As Object, ByRef dohighlight As Boolean, ByRef morepreselectentities As ObjectCollection, selectiondevice As SelectionDeviceEnum, modelposition As Point, viewposition As Point2d, view As Inventor.View)
dohighlight = True
Logger.Debug("Preselected entity: {0}", [Enum].GetName(GetType(ObjectTypeEnum), preselectentity.Type))
End Sub
Private Sub SelectEvents_OnSelect(justselectedentities As ObjectsEnumerator, selectiondevice As SelectionDeviceEnum, modelposition As Point, viewposition As Point2d, view As Inventor.View)
Logger.Debug("Selected enities: {0}", justselectedentities.Count)
End Sub
Private Sub InteractionEvents_OnTerminate()
Dim oSelectEvents As SelectEvents = SharedVariable("SelectEvents")
RemoveHandler oSelectEvents.OnPreSelect, AddressOf SelectEvents_OnPreSelect
RemoveHandler oSelectEvents.OnSelect, AddressOf SelectEvents_OnSelect
Dim oInteractionEvents As InteractionEvents = SharedVariable("InteractionEvents")
RemoveHandler oInteractionEvents.OnTerminate, AddressOf InteractionEvents_OnTerminate
oInteractionEvents.Stop()
SharedVariable.Remove("SelectEvents")
SharedVariable.Remove("InteractionEvents")
Logger.Debug("Stoped")
End Sub