Please Check the attached sample to test.
This behavior is by design. When a user applies filter then the grid is re-rendered and any previous state is lost. You should persist the selection by yourself using the igGridSelection.selectedRows API and then re-apply it with igGridSelection.selectRow API. Use the igGridFiltering.dataFiltering and igGridFiltering.dataFiltered events to do that. Note that some of the rows may be filtered out after the filtering.
Hope this helps,Martin PavlovInfragistics, Inc.