Yes, the peers.dat issue has to be refined before we release version 1.0.0, for sure.
In the name of science, I don't know for certain that is it data stored in peers.dat that is causing the comms blackout. IT may still ahppen and be rectified by a restart without peers.dat, but since I don't have a control method against which to test that ( I don't have a cleint that is identical with the exception of not storing any peers data), I have to leave the matter as unproven, but there is an inference that they are related.
I can prove the converse, by restarting the client without deleting peers.dat, and ,sometimes, it slowly starts pulling blocks. But deleting peers.dat makes it instantly haul ass every time, no maybes.
There's definitely something to it. It's probably not even the file itself. There's probably just some poison nodes. But getting rid of them without having to delete a file would really help the barely-human neophytes who have never seen a command prompt and are afraid to touch file management.
At the least, this file should be deleted upon startup by default. I realize it's meant to act as a cache. But, there's still two ways to look at that. It can still be an ACTIVE cache, but not be a persistent session-to-session cache. Delete on exit? No, because client might crash and not get deleted. Build in a deletion of peers.dat into the startup sequence. Most sane people can do that, but we've already saturated sane people. This needs to be done for people who can't do anything for themselves. Besides, telling someone "Oh, yeah, it's busted if you don't do this constant nonsense file maintenance" does the opposite for instilling confidence...
We could partly band-aid the issue by simply having the client delete the file on every startup. It never hurts performance to do that, and always fixes the problem with flying colors. Then, of course, it still eventually fails, so we really haven't come to the root of a true fix. But it makes the work around less stupid looking...
"Restart" is not an uncommon "fix" for people running Windows and Mac... They'll write it off no different from any other time they have to do that because Commercial OS sucks. In this case, it won't be true, but they never pay enough attention to know the difference, and it's fixed without putting a bunch of "OK, totally clueless moron, dig around in your filesystem and be really careful not to fuck up or you lose all your money!"
Isn't it better just to tell them to restart the client? Hell, they won't even listen to that and they'll restart the whole damn computer... Let it fix itself.