We just deployed a mobile app that uses jQuery mobile and the JS API v3.13compact to a Windows Server 2012 machine using IIS8. We have 3 identical environments in house, two where this is not happening, but on one of them some of the picturemarkersymbols in the scale dependent renderer of a feature layer are not displaying at one of the three scales that they're set to display at (though some symbols do display at that scale). The other two scales work fine for all picturemarkersymbols. When changing the one feature layer with the 3-tiered scale dependent renderer to 3 feature layers, each with one unique value renderer and each with different min/max scales, the problem does not go away. This happens on all clients: web, mobile, etc. When browsing to the URL of the image directly, it does not show up on the first try even though the status is 200, but a refresh usually displays the image. Sometimes when going back to the application after doing so the markers display, but sometimes do not. Pre-loading the images into a hidden div before loading the layers does not solve it either. In the app the symbols will sometimes have a GET status of 200 (after clearing the browser cache) and sometimes a 304 (unchanged), but regardless of the status the images do not show up in the app.
In the Network tab of the chrome dev tools the symbols that work have an "initiator" value of "svj.js", but those having an "initiator" of my HTML page do not work. That's the only difference that I can see. According to the Google documentation the initiator is "The object or process that initiated the request. It can have one of the following values: Parser, Redirect, Script, Other". All images -- those that work and those that don't -- are in the same folder on the web server and all have identical permissions.
The problem seems to be server side, but I haven't been able to track it down.
Ideas or thoughts?