Не пробовали в настройках ajax-запроса указать тип возвращаемых данных — json, и вместо HttpStatusCodeResult(401) возвращать JsonResult и анализировать его на клиенте?
if (Request.IsAjaxRequest())
{
return new JsonResult { Data = { errorCode = "401" }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}