The IP of the machine running the proxy is static (192.168.1.50) and the IP of the miners are static (192.168.1.100 and 192.168.1.101), and there is nothing else on this network. The entire network is just 1 laptop, 2 miners, a small switch (which I tried replacing already to rule that out), and a DSL modem which acts as the router.
Yes, the hardware is rebooting itself, but to answer your question, the proxy does eventually pick it back up and it starts to mine again automatically. But these constant disconnects are keeping my average hash rate much lower than what it should be.
When I run bfgminer I get a strange message which sates "Pool 0 is hiding blocks from us" and then BFGMiner closes. I am running it with these command line switches:
bfgminer.exe --http-port 8332 -o
http://stratum.btcguild.com:3333 -u bark0de_proxy -p x
I execute this via a batch file which I run from the same directory as BFGminer.
I reached out to CanaryInTheMine and he told me that the miners are hardcoded to reboot themselves if they stop receiving work for a while. The question is, why do they stop receiving work?
When the miners stop getting work, I check the proxy console and I see that it stops showing the really fast messages that say " Submitting ####### from bark0de_cube accepted" and it only shows messages that say something like "new job #######" i forget what exactly it says, but basically it stops mentioning the ASICs and seems to just show messages that say something to the effect of "I just got another job from the pool and I am waiting for a worker to take this job"
Thanks for your help. I hope someone can help me get to the bottom of this

How much RAM is in your laptop? I thought someone mentioned having issues with that a little while back.