Hola,
Es un poco largo, pero es la manera más sexy de y elegante de hacerlo:
1) En vez de utilizar List(Of CrystalControl), crea una clase que herede de Collection(Of T).
2) En esa clase que la llamaría CrystalControlCollection, tienes que crear un evento público (algo como ControlAdded) con un EventHandler(Of CrystalControlEventArgs).
3)CrystalControlEventArgs es otra clase que hereda de EventArgs con una propiedad pública de tipo CrystalControl que se llame Item (u otro nombre que quieras)
4) Luego haces override del método InsertItem en la clase CrystalControlCollection y ahi llamas al evento ControlAdded (con RaiseEvent en vb.net) en donde le pasas el control que se está añadiendo.
5) Sustituyes la lista por CrystalControlCollection, y te suscribes al evento ControlAdded
Puedes hacer muchas más cosas como cuando sacas un control de la lista llamar a otro evento en donde realmente sacas el control del UI. Esto se llama event driven development , creo.
Un saludo!