Wow! The only other thing I can think of is way out there.
If there was sufficient noise on the serial line, it could look like a continual stream of data that will prevent your timeout logic from running. This would show up in your accumulator string indicator. So, the only thing I suggest at this time is to check the length of the string in the accumulator when it is in the hang condition. This would also mean that you could "un-hang" the loop by pulling the cable while hung. Trying hard to help, Ben
