puede ser que tu problema sea este:
campos ID, NOMBRE,TELEFONO, INGRESO, CADUCACION
FieldByName('CADUCA').AsString := fVencimiento.text;
tienes un campo CADUCACION y en fieldbyname tienes 'CADUCA'
ademas me parece raro este codigo
SelectSQL.Clear;
SelectSQL.Add('SELECT * FROM socios');