The SimpleXMLElement class says: __toString() Returns text content that is directly in this element. Does not return text content that is inside this element's children.
From the print_r output, it looks like the text is a child of the object. If the text wasn't a child, it appears array_unique would actually work.
array_unique: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2. In words: when the string representation is the same. This should work if, as the doc says, the text of the SimpleXMLElement is not a child of the object.