One way to make sure your cookie is sent to the client is to override the OnException() virtual method in your controller:
protected override void OnException(ExceptionContext filterContext) {
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.StatusCode = 500;
filterContext.HttpContext.Response.StatusDescription = "Internal server error";
// whatever...
base.OnException(filterContext);
}