Is the data input line (RX) idling low (9600 baud, inverted)? If not then then it will never time out!