When working with referenceable nodes, the jcr:uuid property is not stored as a node property and therefore cannot be searched after, if a subsequent update has been performed on the node's properties.
Consider the following scenario:
1. create a referenceable node N with some properties & save
2. execute a search against N.[jcr:uuid]
3. update some of the properties of the referenceable node & save
4. execute the same search as 2.
The effect is that the search at 2 is successful while the search at 4 is not.
The reason is that when first creating the transient node, the actual graph CreateNodeRequest contains among the node properties the jcr:uuid property, which gets indexed by the lucene indexer.
After the update is performed (effectively an UpdatePropertiesRequest is processed), because the jcr:uuid was not stored as a property when the first save was executed, the lucene indexer does not get this property anymore and therefore does not store it in the document (document which gets created anew each time)