I have now reduced this problem to a very simple composition (attached)
It would appear that the 'Get Items from List’Node is behaving differently when presented with an explicit empty list, or a list of integers which changes to an empty list. although I don’t understand the difference.
In the example workspace the top example works because it checks to see of the list produced by the reverse node is populated and if it isn’t sends an explicit empty list of integers. This works
The lower example just accepts that the output of the reverse list is empty when it says it is. This produces the wrong output from the Get Item node.