We were running an Idetify task from our Flex App, when we saw a strange result. Ife we pass in a point while identifying, we got more results than if we pass in a bigger envelope, or buffer around our points. We found that this results is reproducable when we query the rest end point.
In your identify query you pass in a value of "2" for "layers" parameter. Since this parameter does not contain one of top/all/visible keywords it defaults to "top". And "top" returns the result from the top-most layer.
When you identified using an envelope, layer "Emergency Sirens" (layerId 0) is returned, because this is the top most layer in the result set. When you identified using a point, layer "Traffic Cams" (layerId 2) is returned because this is the top most layer in the result set.