> Can I potentially do that several times, or once Materialize has computed up to time B it can’t go back?
many times, within the configured history window. Materialize keeps an event history so you can go backwards up to that configured period of time.
> using Materialize as a proper Leopard-style expanded watch system
that's what Materialize is and exactly what its designed to do
> I’m therefore wondering if can do my main streaming from Materialize to keep that index and in parallel do periodic once-off diff checks where I ask Materialize the changes between points A and B (even if those have potentially already been consumed by my primary stream).
100%. that's the exact use case we designed it with