The problem as you state is that a failed network fetch can end up corrupting the backup resources you want to use.
As discussed in the comments below, this is due to the exception being thrown as the image stream is fetched from the network during the write to disk. Using this kind of code should protect you against this. Needless to say, you should perform some sanity checking on the length of the stream that is being returned.
var httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(urlPicturesBig + urlresource);
MemoryStream memory= new MemoryStream();
using (var httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
var stream = httpWebReponse.GetResponseStream();
//read the entire stream into memory to ensure any network issues
//are exposed
stream.CopyTo(memory);
}
var tmpimg = System.Drawing.Image.FromStream(memory); {
tmpimg.Save(@appDirectory + "\\resources\\" + urlresource);