Thanks for the replies everyone. My AMP release and hold were both set to inf. After reading sicijk’s post I cleared all scenes locks and all pattern pages of locks, checked LFOs and such but couldn’t track down what was preventing the loop. Pitch and Rate were set to 0 and full on the param pages but may have been locked in a way I couldn’t see.

Anyway, I started a new project and am getting the expected looping behaviour now. Will be ever-more vigilant in the future of my param changes and math required to keep the rec position ahead of, if not synced with playback.