Which MSP430 are you using? The different families have different clock structures and capabilities.
The DCO will change frequency with temperature causing the USART baud rate to drift out of specification. The MSP has a temperature sensor (not very accurate). You can change the values in the DCO control registers to bring the DCO frequency back in range but this would require calibrated lookup tables covering the range of temperatures that you expect to see. Some of the MSP devices have DCO calibration tables programmed into one of the flash sectors at manufacture but these are only useful if they cover the frequency that you wish to use, and I do not think that they have temperature compensation values.
Do you have a reference crystal oscillator that you could use as a calibration source? I would always design in a 32kHz crystal and use this on the ACLK. For baud rates up to 9600 this can be used directly. For higher baud rates you will have to calibrate the DCO against the ACLK signal. The newer parts have a hardware FLL that will do this automatically.
For data transmission / reception, one of the less expensive options today is a pre-built module around the nRF24L01+ Transceiver IC. These modules typically offer a built-in PCB-trace antenna, 250 Kbps to 2 MBPS bandwidth before error correction, and are tried and tested.
Most important, they save you time in debugging and antenna tuning. After thousands of people have used these modules, which are built on the manufacturer's reference designs after all, most of the kinks are pretty thoroughly ironed out. Also, being able to tap the experience of many others on the internet who have used such a module, counts for a lot when trying to resolve issues.
For instance, this listing on eBay is for a mere US$2.10 with free international shipping. It uses the 2.4 GHz band, which does not need licensing for low power use in most countries.
Another alternative is this 433 MHz band transmit / receive pair of modules (just 9.6 Kbps though), in case you specifically want to stay with transmit-only and receive-only designs. US$1.99 for the pair makes it pretty attractive.
Of course, in each case, you could as well build your own module starting from the IC manufacturer's reference design, and thus learn while implementing your radio functionality.
It is unlikely that the price advantage of massive volume production can be beaten, though.
Best Answer
The timings have to be accurate enough that they don't drift apart before the protocol resyncronises.
UART serial resyncronises on each byte and a byte is around 10 bits (8 bits of data plus start and stop). We assume that our UART targets the middle of each bit. If everything is is perfect and only one end is inaccurate that allows for approximately 5% difference between the two ends of the link.
However:
The bottom line is that 1% error on your clock is almost certainly fine. 5% error is almost certainly a problem. Between those two figures it may or may not be a problem depending on the overall picture.
That is a tall order for a RC oscilator. Lets say your R has a 1% tolerance and your C has a 2% tolerance. That gives about a 3% tolerance for the RC network's time constant and that is before you think about any errors introduced by your driver chip.
So the bottom line is you should be looking at a crystal or ceramic resonator.
As for USB I don't have the experiance to analyse from first principles but https://www.silabs.com/community/interface/knowledge-base.entry.html/2004/03/15/usb_clock_tolerance-gVai says 1.5% for low speed and 0.25% for full speed.