EDIT: The sole course of my problem was the COUNTER VARIABLE WAS NOT GLOBAL. I was also scratching my head, wondering why I couldn't scope the variables as global. But the answer was staring me right in the face -- in case this might help someone else, here's what I did:
- Dragged a variable connector into Global Objects
- Named it "Counter"
- I used the same variable at the beginning of the workflow; and
- as the variable for the "While"; and
- as the variable for the "Expression" connector; and finally
- once again as a variable (dragged from the Global Objects), with input from the "Expression" connector's Control port and Data port
An image of the workflow, as corrected, and functioning, is below. By the way, the variable farthest on the left is in fact named "Counter", but it has a value of "1", as shown. A screenshot of it is, in turn, below the entire workflow.
I have deleted the original post, as it would probably only serve to add to confusion, rather than subtract from it.