I m not sure I understand if this is a question about how to properly send cookies to the client or some bug with your querystring params. So I ll post the proper way of sending cookies and feel free to correct me if I misunderstood.
In any case though, I believe this:
HttpCookie cookie = new HttpCookie("search");
will reset the search cookie
To get a cookie:
HttpCookie cookie = HttpContext.Request.Cookies.Get("some_cookie_name");
To check for a cookie’s existence:
HttpContext.Request.Cookies["some_cookie_name"] != null
To save a cookie:
HttpCookie cookie = new HttpCookie("some_cookie_name");
HttpContext.Response.Cookies.Remove("some_cookie_name");
HttpContext.Response.SetCookie(cookie );