Thinking back I believe my adb shell session may actually have stayed connected (which would make my comment about adb dying not make sense), but I was busy in a chat session at the time, so didn't pay especially close attention, just kept hearing some notification sounds on the phone and quickly looked to see what was causing them. My adb shell session window was behind some other windows and I never looked to see what was happening there due to being distracted. My guess is it is as you described.
If I have some time, I'll try and narrow things down further.
Yesterday for 6-8 hours (while doing other stuff) I tried to reproduce what I remembered from before about the USB notification going in and out.
This time though, couldn't get it to happen. Tried at various clock speeds and with both ondemand and interactive.
Left an adb shell open the whole time and it stayed connected, and there was no problem with the USB or USB debugging notifications going away.
On the battery, the charging indicator would go away shortly after I plug the phone in, with the battery at 100%. Charge would stay at 100% and change from "charging" to "discharging" in the settings/status screen. My assumption is that this is normal, that once the battery is charged it just intermittently trickle-charges to stay at 100%. I never saw it drop below 100%.
So, for now I would say "no issues" on my end. I guess that's good for me but I would rather have found something to fix. :-\
It sounds too easy to blame the previous USB cable (which was definitely a little loosey on the micro-USB end), but that's most likely it in my case, or your phone not liking OC or hitting a particular battery temp (my battery has stayed cool, never seen it above 21 C). I have noticed with my phone if the RAM is totally used (as reported by "free" via shell) it hits performance and SetCPU benchmarks are about 16% slower ... i.e. the long bench goes from 7300 to 8500, so just having RAM in that state is going to keep CPU at the high end longer and add more heat (I have to kill/force stop the bg processes to solve this). So a combo of things could have been making more heat maybe?
Normally with Linux you *want* all your RAM used (just not wired) but in my case Android/Linux aren't automatically freeing RAM when needed which is disappointing. There are apps in bg that I would have thought Android would know to kill. Not specific to my kernel though. (I'm not an embedded guy so this is my first time tuning Linux w/ so little ram and no swap, so maybe what I'm describing is actually normal for hardware like ours.)
Interactive definitely keeps the processor at the high end for longer than ondemand. I'd have to collect some data to see how much the average clock speed is actually affected over time, so that's just anecdotal but it seems to be the case.
FYI (and I can't see how this would matter, but you never know) all my tests were with the kernel recompiled with the Code Sourcery toolchain and gcc instead of Google's. After a couple of days that kernel seems good, if you want to try it I could upload it.