(with the risk of getting boring) i remember that issuing the same query on a different offset could lead to strange behaviour if data get changed between every request.
there isn't a perfect way for fix this, but you could think about fetching all the data and put it on a session, then show pages of this "snapshot".