OK, I think what's happening is that the scope triggers on the startbit of the first byte, fills the memory, re-arms the trigger and triggers again on the startbit of a byte somewhere in the middle of that long string.
The message is about 800 bytes long. At 115200 that's roughly 70ms. If you run the scope at a much faster timebase (as you showed in your first post) it will fill the buffer WAY before the message ends and it WILL retrigger in the middle of it.
Does that make sense?
(Yeah, the decoder could use some work, for sure)