Проблема в том, что вы фильтруете myXMLList;но dataProvider - это новая переменная, основанная на myXMLList.Итак, у вас есть два независимых экземпляра одних и тех же данных, и вы фильтруете неправильный.
Это может быть одним из решений:
private function isStory_changeHandler(event:Event):void {
if (event.currentTarget.selected) {
mainADG.dataProvider.filterFunction = filterArray;
trace("filter");
} else {
mainADG.dataProvider.filterFunction = null;
trace("don't filter");
}
trace(mainADG.dataProvider.length);
mainADG.dataProvider.refresh();
}