Tony,
Sorry about the confusion. This is by design to accommodate wrap-around functions. You can normalize the extent to get the real extent in the origin world. Please try the code as:
if (map.spatialReference._isWrappable()) {
xmin = esri.geometry.Extent.prototype._normalizeX(map.xmin, map.spatialReference._getInfo()).x;
xmax = esri.geometry.Extent.prototype._normalizeX(map.xmax, map.spatialReference._getInfo()).x;
var realExtent = new esri.geometry.Extent(xmin, map.ymin, xmax, map.ymax, map.spatialReference);
}