update_option_{$option} not showing old value

You should use pre_update_option_{option_name} filter.

Example:-

function system_save_number( $new_value, $old_value ) {
    mail('[email protected]','here',print_r($old_value ,true) . "\n\n" . print_r($new_value,true));
    return $new_value;
}

function system_init_actions() {
    add_filter( 'pre_update_option_system_number', 'system_save_number', 10, 2 );
}

add_action( 'init', 'system_init_actions' );