I am also not at all a fan of clustering, but if you have thousands of caches in a list, I think that is completely reasonable. If all else, you can created another smaller list. I keep a list of around 1,000 of the caches nearest to my home, but I can't even imagine a 10k or 20k cache list.
I think what you have proposed is very reasonable, though I wouldn't want offline lists to load up in list mode unless they were over 1000 caches (or maybe the user can set the default behavior). As noted above, I keep an offline list of the nearest 1,000 caches and that is how I do most of my local caching. It would be annoying to have an extra step of switching from list to map view every time I use my offline list, which is 90% of the time.
As always, fantastic job on the app and the updates. I introduced it to a couple more people at a recent geocaching event, and bought it for another friend for their birthday.