Se me ocurre que al momento de crearlos le des un nombre significativo, por ejemplo Timer+PosiciónenArray.
Código Delphi
[-]
...
ArrayTimer[Posicion] := TTimer.Create()
TTimer(ArrayTimer[Posicion]).Name := 'Timer'+IntToStr(Posicion);
...
Luego en el evento OnTimer:
Código Delphi
[-]
begin
posicionEnArray := StrToInt(copy(TTimer(Sender).Name,6,length(TTimer(Sender).Name-5)));
...
end;