I just got over a very similar problem with a clients site that I am building. I needed to be able to show the results of a db query across multiple pages as well. I also tried getting the results of the initial query from page to page with no luck. What worked for me was hiding the query statement in a form field and re-running the query on each new page. I used additional logic to, based on how many results I got back and all that stuff, let the user know how many results were being displayed per page (per the users wishes) out of how many results, and lastly, to let the user know when there were no more results to view.
I also had to strip slashes and comparison operators like < and > from the string, not to mention adding "_" in the place of the spaces. Before it could be used again, I had to restore the sql statement back to what it was before I did all of the stuff mentioned above. str_replace() worked fine for me on this occasion.
Now there is a probably an easier way to do some of this garbage, but nobody here has yet mentioned what will work. So here it is. If there is an easier way, and someone wants to share, that would be great.
Oh, one more thing. I am using mysql_db_query() then mysql_fetch_array() to echo data back to the user. I as of yet have not needed to use mysql_fetch_object so I don't know how much that will change the method I've used above, if at all.
Hope this helps,
T.R. Cox