You should read an array of chars from the stream and then to finalize your stream reader before to do the conversion.
byte[] bDoccontent = null;
HttpWebRequest hwrProg = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse hwrpProg = (HttpWebResponse)hwrProg.GetResponse();
StreamReader sr = new StreamReader(hwrpProg.GetResponseStream(), Encoding.ASCII);
char[] base64CharArray = new char[sr.BaseStream.Length];
sr.Read(base64CharArray, 0, (int)sr.BaseStream.Length);
sr.Close();
string base64String = new string(base64CharArray);
bDoccontent = Convert.FromBase64String(base64String );
Response.Clear();
Response.ContentType = "Application/pdf";
Page.Response.AddHeader("Content-Disposition", "inline;filename=wei.pdf");
Response.AddHeader("content-length", bDoccontent.Length.ToString());
Response.BinaryWrite(bDoccontent);
Response.Flush();
Response.Close();