I am having the same issue. In my case, I am using GSAK to process them, which will handle very long names, which excludes the name collision issue. I generate a query, preview it, it has 200 caches, then get the cache file, load it into a clean database, and it has only 38 caches (in fact, it says the file has 38 when it is loading). I've verified that I'm not using an old file (besides, it has a 200 limit but the query returns more than 200 matches, so it should always be 200 in size).
Trying to test this with Pocket Query limits is difficult.