Interesting you mention the string "OK". That might explain an odd behavior Im seeing. I put the a breakpoint of Application_BeginRequest for both a success and fail case. The content length of the failure case is 2 bytes less than the success case (for the same image).