After some experimenting, it looks like twitter is returning an EMPTY status portion of the JSON response every so often (about every15 - 20 requests).
I implemented a retry mechanism which appears to work well.
The problem is that an empty status node in the JSON results no longer means there are no more pages to get (unless of course you’ve reached your previously collected tweets’ highest ID).
Also, this problem seems to occur more often on some searches compared to others. I have no idea why.