Put the grid inside a panel (rather than scrolling the grid itself) and the following in the head section of the page. This is set for using a MasterPage, but you can remove the "ctl00_MainContentPlaceHolder_" prefix for a regular page.
<script type="text/javascript" language="javascript">
window.onload = function () {
var strCook = document.cookie;
if (strCook.indexOf("!~") != 0) {
var intS = strCook.indexOf("!~");
var intE = strCook.indexOf("~!");
var strPos = strCook.substring(intS + 2, intE);
document.getElementById("ctl00_MainContentPlaceHolder_pnlFindings").scrollTop = strPos;
}
}
</script>
<script type="text/javascript" language="javascript">
function SetDivPosition() {
var intY = document.getElementById("ctl00_MainContentPlaceHolder_pnlFindings").scrollTop;
document.cookie = "yPos=!~" + intY + "~!";
}
</script>
In the Panel, you'll need:
onscroll="SetDivPosition()"
That should do it for you. Works for me, anyway.