Hi Alfonso,
Note that the two CTensor objects in your tlist have different index configurations, so you cannot just add their component arrays without transposing them first. To get a CTensor object in its canonical index order use ToCCanonical. Therefore change this definition in your notebook:
tlist = ToCCanonical /@ {tensor[-a, -d] tensor[-b, -c], tensor[-a, -c] tensor[-b, -d]}
Keep the definition of expr2, because now both tensors in tlist have the same index configuration. Then
In[15]:= expr2[-a, -b, -c, -d] - expr1
Out[15]= 0
So I think there is no computation error.
The odd part, and probably what is confusing you, is that SymmetryGroupOfTensor[expr1] and SymmetryGroupOfTensor[ToCCanonical[expr1]] are returning different groups. They are isomorphic groups, but only identical under reordering of the indices. This is odd, but I think it is correct. SymmetryGroupOfTensor just looks at the head of the CTensor, as usual.
Cheers,
Jose.