Pradeep,
What if new rows are added or rows pointed by cached primary keys are removed?
It depends on the business requirement. If you get rows 1-20 using true dynamic paging and row 5 disappears, what do you get the next time? Rows 21-40 or rows 20-39? Logic would say rows 21-40, but then you mis the original row 21 because it is now row 20.
Wayne's solutions sounds like a good compromise although it doesn't resolve this problem.