El problema es que si
TForm no posee el procedimiento
OnRead no va a funcionar hagas lo que hagas.
Parece que lo que tienes almacenados en la lista de Objects son objetos de tipo
TForm o
TSockets.
Estás haciendo el CAST (operador AS) como
TForm, pero luego intentas ejecutar un método que pertenece a la clase
TCustomSocket. Eso no cuadra.
Si realmente son sockets debería ser algo similar a esto.
Código Delphi
[-]
(ListItem.SubItems.Objects[ID_Obj] as TCustomSocket).OnRead(CSokcet, DataSocket);
Y si son
TForm, no tiene sentido ejecutar el
OnRead.