Si te funciona no lo toques .... jejeje.
El caso es que... digamos te abstraes de ciertas tareas, te quita de problemas y además el código es más elegante y claro.
Por ejemplo buscar un TAVcom (no recuerdo bien el nombre), pero con TObjectList tienes un método IndexOf (igual que un TStringList) para buscar uno de esos objetos.
También te olvidas de agrandar y acortar el array, ya que encapsula ese comportamiento.
No tendrás que mirar si uno de esos apunta a nil porque ya se ha liberado de memoria, porque también lo controla.
Con esto no quiero decir que cambies tu código, solo que lo tengas en cuenta para la próxima vez, hay hilos a modo de tutorial, de como
usar un TObjectList
Saludos