I am not aware of there being a 100 limit, but if there is then I can understand why you would want a Do While. - Make sure your QueueItems variable is in a scope outside the loop though, or it will give you the “object reference is not set” error". Like I said in an earlier post, you would want to figure out which variable is causing this error because then you can identify the issue and where it occurs.
I created this versatile workflow to clean up the Queue the other week:
CleanQueue.xaml (20.5 KB)
Feel free to look at it but is not quite finished cause I only have it coded to change In Progress, Failed, and Successful states - but the others can be added in the Switch. And read the annotations on the variables and sequences to understand how to use it correctly. I believe it is set up to change all In Progress to Failed as the variables are currently.
Essentially, you set an array of the states you want to change, and it loops through them and changes the status of each item in that state. Also, like I said, New items did not allow me to change to Failed because it needs to be as In Progress first. However, you said that isn’t the case for you, which I find weird.