This never happened with 2.3.6; I ran that version for 2 weeks straight without any issue. So I'm also leaning toward it being a cgminer issue introduced in 2.4.1.
cgminer just handles errors coming from the device and disables the device. That is its error handling.
See nedbert9 post: https://bitcointalk.org/index.php?topic=76208.40
Closing and re-opening/re-initializing the port would probably be a better solution. But disable is simpler and works.
I do know that my Singles hashed for 2 weeks solid under 2.3.6 without any failure. Those same Singles have now had 1-2 'OFF' failures every day or two for the past two weeks running 2.4.1 and 2.4.2 in the same environment (same ambient temperature, same host PC, same USB hubs, same cables, same physical location and position).
That observation, plus several posts from other Single users running 2.4.1+, make a reasonably strong case to at least suggest that something may be broken in 2.4.1+.
I've read nedbert's post that you referenced; he is encountering the same problem as being described here. The point is that prior to 2.4.1+, Singles did not spontaneously 'stop hashing'. So I am trying to understand why they would be doing so now ... and, so far, the circumstantial evidence seems to be pointing the spotlight on cgminer 2.4.1+.
I have one Single working now under CGminer 2.4.2 and before 2.4.1 without any problems, but I use Windows Server 2003