When a « TrackEventTimeChanged” event occurs, is there a way to know which Event is modified without to scan all tracks, check if event is selected… etc
No, that event is not tied to a specific event. It was designed for views that do not try to be "smart" about refreshing individual events. The reasoning is that, even if you can, most programmers will not bother to update with such granularity so having a different TrackEventTimeChanged fire for each event that changes would, more often than not, lead to repeated updates of everything and worse performance.