Try calling the InvalidateCounterBottomUp() method inside the GetYAmountCount() override method. Please refer to the modified attached sample for more details and let me know if this helps.
public override double GetYAmountCount()
// Note: whenever the value that is returned by GetYAmountCount changes
// make sure you call InvalidateCounterBottomUp so that the engine
// is aware of the change and counters are recalculated. See
// the RowHeight setter.
return rowHeight != -1 ? rowHeight : base.GetYAmountCount();
Also refer the bleow forum thread for more details.http://www.syncfusion.com/support/forums/message.aspx?&MessageID=50138