Reading From NewSoftSerial

Why do a flush? Do you want to throw the data away?

Ehhh... good point. The manual says: "Waits for the transmission of outgoing serial data to complete. (Prior to Arduino 1.0, this instead removed any buffered incoming serial data.) " I'm using Arduino version 0018, which I assume means 1.8 though... so I would expect to see the newer behaviour.

Which version is that? I've used all the versions from 15 on up and they all have Serial.write().

Well, here's what I get when I try it:

[apply] /tmp/build2430831250169278482.tmp/tmp/touchslide/touchslide.pde: In function 'void sendTouches()':
[apply] /tmp/build2430831250169278482.tmp/tmp/touchslide/touchslide.pde:165: error: 'class HardwareSerial' has no member named 'write'

It's version 0018, but is a custom version for the TouchSlide Shield called 'Antipasto'.

Can you configure the sending end to transmit two stop bits? - i.e. 8-n-2 ?

I'm not sure how to approach this using Arduino's Serial library... however, after sleeping on it I now feel that the baud rate is the issue here.

I'm going to try a design like so:

Main Link (38400 baud) Nano (NewSoftSerial) <-----> TouchSlide (Hardware UART)
-Nano endlessly streams drawing commands to the TouchSlide.
-TouchSlide sends a few bytes to the nano when it's ready to transmit (these will be garbled as in my first post)

Secondary Link (9600 baud) Nano (NewSoftSerial) <-----> TouchSlide (SoftSerial)
-TouchSlide sends touch data to the Nano
-The Nano stops sending on the Main Link whenever it receives any data there, and switches the NewSoftSerial to the Secondary Link
-The Nano resumes sending on the Main Link when the transmission ends.

My only concern is that I'm not sure the Main Link is full-duplex, in which case it could take a while for the Nano to get the notification to switch to the secondary link.