First things first - you don't need to save it to a file in order to load it as an image. Since you have it as bytes, just convert it to a stream:
m_barrLogo = (byte[])dtLogo.Rows[0]["logo_data"];
Picturebox1.Image = Image.FromStream(new MemoryStream(m_barrLogo));
Secondly, I suspect the problem may well be in how you are storing the image, not in how you are retrieving it.
If you have the data as an Image, convert it to bytes:
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp);
return ms.ToArray();
Then insert it to the database:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand com = new SqlCommand("INSERT INTO myTable (myImageColumn) VALUES (@IM)", con))
{
com.Parameters.AddWithValue("@IM", myImageAsAByteArray);
com.ExecuteNonQuery();
}
}
How does that code differ from yours?