Thanks for the input, we see your point. Unfortunately issuing the Start
event every time a loop iteration is started would introduce problems for other scenarios again, making those a bit harder to handle. In general we prefer events being as "orthogonal" (not overlapping much) to one another as possible, since combining them is much easier than separating them (since events are received in succession).
Since you are mentioning a "weird combo of the Start and Complete event", is your code perhaps more complicated than it needs to be? In general if you want to call a method upon each loop start, you can just register the same method as follows:
trackEntry.Start += LoopStartMethod;
trackEntry.Complete += LoopStartMethod
As an alternative, you could as well create an animation event at the first frame of the animation.