I think it's because somewhere in roassal
objects (in this case ast nodes) are compared by value.

Pretty much; there is test for equality

RTGroup>>elementFromModel: anObject
�� �� ^ self detect: [ :el | el model = anObject ] ifNone: [ nil ]

and equality is more often than not wanted.

So solution might be to tell Mondrian that you want to compare by identity and not equality?

Peter