While I'm handling the ZoomEvent, I find the newState from ZoomEvent is an old one in fact.
I think it's because the following codes are put before the AxisChange() in function HandleZoomFinish()
// Provide Callback to notify the user of zoom events
if ( this.ZoomEvent != null )
this.ZoomEvent( this, _zoomState, //oldState,
new ZoomState( _dragPane, ZoomState.StateType.Zoom ) );
In function ZedGraphControl_MouseWheel(), it's ok.