My advice to you: it’s generally best not to doubt Sharkbait. He’s super smart.
This is where it gets very hairy with Ditto, and it has caused me immense frustration at times. Page cache handling is a black art. It’s hard to know without being in your system, but here’s what it looks like to me.
Here’s a test plan: First, to be safe, uncache the 3 product documents. Now it’s time to play with the root.
To get Prev/Next working on a Ditto root page, something will DEFINITELY need to be uncached. First try uncaching both the Ditto root document AND its Ditto call.
To check each page, I like to do Shift-Refresh (I have Windows) to be sure I’m getting a new page load. I don’t know what this is on a Mac or Unix box. Can’t hurt to clear the whole browser cache first, too.
Try the "double-uncached" page. If that doesn’t make Prev/Next work, try uncaching the call, and test again (with Shift or whatever). If that’s doesn’t work, re-cache the call, and uncache the page, and try again.
That’s my best suggestion.
Even though I’ve built loads of sites using Ditto calls fancy and simple, in my experience the cached-uncached combos have been confusing and unpredictable.
Good Luck, D