I tested it again, if the Connection is down, it tries to restart Downloading as fast as possible, that means it runs at 100% CPU Usage trying to restart. You should fix this, its not a good behaviour to retry in fullspeed, its just a waste of CPU.
I could not reproduce your Problem, I removed your 20 Seconds Limit by making the following changes (commenting out the l.stop):
If cLength >= length Then
If l.IsActive Then
'l.Stop()
End If
After that I let it record for some minutes, disconnected my Internet then I got 100% CPU until I reconnected it,then it just started recording again without any Problems !