я выкладываю много поточную задачечку
Многопоточные задачи - это отдельная песня. Я же просто, так как уже сталкивался с необходимостью запоминать свой собственный индекс внутри мультика в Memory, хочу упростить этот процесс. Вот и всё. Зачем хранить в дополнительной переменной то, что уже может быть доступно.
Вот кстати, по поводу:
procedure THIEditMultiEx.onEvent;
var X:THIEditMultiEx;
begin
X := THIMultiElementEx(FParent).EvHandle;
THIMultiElementEx(FParent).EvHandle := self;
_hi_onEvent(THIMultiElementEx(FParent).Events[Index],Data);
THIMultiElementEx(FParent).EvHandle := X;
end;