as stated by others previously - this is the cure
1. go to orders > all orders
2. click on open orders
3. sort by date (oldest first)
4. select all the old orders that you need to get rid of
5. actions > unarchive orders
6. REFRESH your browser
7. select all the orders again
8. actions > fulfill orders
9. REFRESH your browser
10. I think the orders stayed selected this time, but if not select them all again
11. actions > archive orders
12. REFRESH your browser
Yes, I found this particular painful as well. The only way I found was to use a web browser and refresh the page while logged in to Shopify. If that doesn't change the number, then you might have a fulfilled but open order.
What's painful is that Shopify uses four different terms; open, unfulfilled, closed, fulfilled while the rest of us use two; fulfilled and unfulfilled.
I realise my reply might not be that helpful but that's because this entire situation makes no sense to me - Shopify have taken something simple (fulfilled and unfulfilled) and made it confusing!
No actually your reply is very helpful: it made me realize that I have accomplished this before (i.e., "fulfiling" a cancelled order) so given that you've told me that the behind the scenes is different, I will try to manipulate the settings. SOSO frustrating.
If you figure out the way to do it, please let me know~!
What about Partial Refunds? I partially refunded a customer as they used the wrong discount code. No I can't FN fullfill it. Get your **bleep** together Shopify!!!
I just did the exact same thing since I like to provide my customers excellent customer service. Googled and found this thread. Fun times.