Just ran across this post and thought I'd add the following in case it helps:
10.2 does seem to work, better at least. We had to manually edit our getcapibilities xml from GeoServer however to get 10.2 to understand the extents. Our version of GeoWebCache (standalone gwc, not GeoServer integrated) does not add a wgs84boundingbox node since we're only emitting EPSG:3857, so 10.2 freaks out and issues requests for data that doesn't exist. Grew weary of that and simply pointed all of the arc clients to a manually edited static xml file that has the node defined for each layer and contains the extents shown in our GeoServer layer groups UI.
When the layers are password protected, they will not automatically reconnect as the arc server based layers do however. So, when a layer is saved in an .mxd for instance, opening the .mxd is painful, the layer will not show, 401 errors are prolific, haven't figured this one out yet.
The EPSG:4326 encoded layers always shifted in arcmap, which is why we switched to EPSG:3857. Has this been fixed in 10.2? I do not know.