Same problem for me on shared IIS hosting, redirecting URLs using custom 404 error documents.
Here’s the request from the server logs:
GET /wp-content/themes/twentyeleven-keenoxford/images/OGPLogo.png - 80 - 199.59.149.167 HTTP/1.1 Twitterbot/1.0 - - www.keenoxford.org 406 0 0 1294 191 156
Emulating that the best I can with http://www.rexswain.com/cgi-bin/httpview.cgi gives a 200 response followed by the image:
HTTP/1.1·200·OK(CR)(LF)
Content-Length:·90488(CR)(LF)
Content-Type:·image/png(CR)(LF)
Last-Modified:·Tue,·18·Sep·2012·00:58:04·GMT(CR)(LF)
Accept-Ranges:·bytes(CR)(LF)
ETag:·“1ef97aa83895cd1:9e83f”(CR)(LF)
Server:·Microsoft-IIS/6.0(CR)(LF)
X-Powered-By:·PleskWin(CR)(LF)
MicrosoftOfficeWebServer:·5.0_Pub(CR)(LF)
X-Powered-By:·ASP.NET(CR)(LF)
Date:·Thu,·20·Sep·2012·16:15:43·GMT(CR)(LF)
Connection:·close(CR)(LF)
I can only assume that the HTTP request Accept header from Twitterbot (which isn’t included in the logs) is for some reason incompatible with this.