Your polarity is set to idle high. Ordinarily, for TTL RS232 this is correct. Real RS232 idles low.
Since there is no delay between character strings in your first post, it is pretty difficult to determine that it is idling high. I probably is but I can't prove it.
It's not likely you can get time between characters but if you change that delay(1) to something much longer, you will see the idle condition between strings.
I'm going to assume the problem is framing. The DS1054Z, as noted above, decodes the SCREEN, not the data. So, if the trace doesn't start at an exact idle point, it is almost guaranteed the first char will have a framing error. You can adjust the trigger position toward the left edge of the screen rather than at the center. Then, when you stretch the delay, the first thing in the trace is a LONG idle condition. Then come some chars followed by a long inter-string delay followed by more chars.