I made this change and it's working very well with Firefox. Clicking on the scrollbar arrows will cause the grid to always scroll by 1 row and not 0 or 1. Clicking inside the scrollbar, for page scrolling, also works as well. This was tested with Firefox 3.6. Will look at IE 6 next.

The modification to onLiveScroll is in green below.

Code:
    onLiveScroll : function()
    {
        var scrollTop = this.liveScroller.dom.scrollTop;
 
        var cursor = Math.floor((scrollTop)/this.rowHeight);
 
        if (Ext.isGecko) {
            var delta = (scrollTop) % this.rowHeight;
            if (delta !== 0) {
                if (scrollTop > this.lastScrollPos) {
                    this.adjustScrollerPos(this.rowHeight - delta, true);
                } else {
                    this.adjustScrollerPos(-(delta), true);
                }
            }
        }
 
        this.rowIndex = cursor;
 
        // the lastRowIndex will be set when refreshing the view has finished
        if (cursor == this.lastRowIndex) {
            return;
        }
 
        this.updateLiveRows(cursor);
 
        this.lastScrollPos = this.liveScroller.dom.scrollTop;
    },
I'm hoping I can do something similar for IE and Safari.