Interesting. For the last point I am almost sure that this would not occur since we are in a single operator mode so these actions cannot be fired up from different actors at the same time. This may become a different story when a web API will be available so I have to keep this in mind.
I know a situation where SetupStream and DestroyStream are called while another stream is running. This is because in the Tx part the start/stop actions do SetupStream and DestroyStream and at that time another stream may well be running. This is asymmetrical between Rx and Tx: the reason to destroy the stream when stopping Tx is only because this is the only way I found to actually stop the transmitter suspending the stream with StopStream does not seem to be enough.
Do you see any reason why StopStream does not stop the Tx from transmitting? If I remember right the carrier is still maintained.
Edit: in fact it is LMS_EnableChannel that effectively starts or stops the Tx from transmitting.