Трудно сказать, не видя ваш код ... Я бы предположил, что вы назначаете данные условно, то есть:
If Not IsPostBack Then
MyXMLDataSource.Data = "...some xml..."
End If
В этом случае оно будет пустым на обратной почте, и вы получите свое исключение. Может быть что-то еще, но опять же, без кода ...
Обновление
Поскольку вы добавили больше информации ...
Вы должны иметь что-то вроде кода выше на Page_Load. Поскольку вы не предоставляете это здесь, я полагаю, что вы делаете. Если вы этого не сделаете, вы получите исключение нулевой ссылки при каждой загрузке.
Имея это в виду, вы назначаете данные по некоторому нажатию кнопки, но не по PageIndexChanging.
Вы нажимаете кнопку, страница загружается, вы назначаете данные, сетка показывает их. Затем вы нажимаете следующую ссылку сетки, страница загружается снова, PageIndexChanging срабатывает, ваше событие щелчка - нет, где назначение тогда?
Из того, что я вижу, либо присваивайте свойство Data для Page_Load каждый раз или делайте это в всех последующих событиях, т. Е. При изменении страницы, при сортировке и т. Д.
Кстати, вам не нужно вызывать DataBind при декларативном назначении XmlDataSource.