I've personally had some issues with Ubuntu, but i'm far from being able to say for sure that's the problem. Still, i suggest trying Fedora or a Windows host for Mango to see if your serial ports stick around longer.
Also, make sure data sources and testers aren't competing for the port in the case that you have multiple data sources running. Only one running data source can own a serial port at a time. Note also that the node scanner owns the port while it is scanning.
Can you try putting in a pause after initializing the local device, using "Thread.sleep(###)"? There may be a delay while the device waits to join the network, during which your requests might be timing out. Start with something like 10 seconds to see if this works, and then reduce the time as much as you can.