I have no way to do it as advised.
But if i change the
HttpContext.Current.RewritePath(Request.ServerVariables("HTTP_X_ORIGINAL_URL"), True)
with
HttpContext.Current.RewritePath(customurl, Nothing, "customparam=something", True)
my destination page able to retrieve the querystring rewrite from url rewriter and also querystring from url. And also i need to replace original url with custom url that without any parameter.
Maybe my rewriter rule invalid therefore i need to do the above mentioned workaround.