You are coming in loud and clear and i do seem to understand the problem a little better.
Yes you can do this with session variables and it will work. But IMO i do not like using session variables for anything else than settings for users once they log in or that type of data. Im not a fan of using sessions for random data. Depending on who you talk to that could go either way.
Any way, im on my way out the door so i dont have much time.
What would currently work for you (I think) is to create some hidden fields on the ShowResults.asp page and store the values of search.asp in them. Then all you have to do is a response.form("hidtxt?") to get that value again.
Although something else that you can do is this.
When you first request the query string values, store them in variables.
Then for the first, next, last, previous links, append those values to those links so that when 1 is clicked it will repost those values.
A quick example
Dim txtMyText : txtMyText = Request.form("Field from Search.asp")
When building the links just add this in there. Use the same querystring
Response.write "<a href=""ShowResults.asp?Id=" & txtMyText & "&Id2=" & SOmeField & """>First</a>
Although you will have to have a variable to get it from the querystring after that.
Does that help?
Post back and let me know. I took the day off tomorrow but you know i cant stay away from the computer for too long.