I think ApplyFilter only works when the grid is using data binding. I did find a work around using the following...
_announcedGrid.Columns.Items[0].Filter.Filters.Clear();
FilterItem item = new FilterItem( instrument, FilterOperator.Or, ConditionOperator.Equals );
_announcedGrid.Columns.Items[0].Filter.Filters.Add( item );
_announcedGrid.Columns.Items[0].Filter.FilterString = \"Symbol = 'BHP.AX'\";
_announcedGrid.Columns.Items[0].Filter.FilterMode = FilterMode.CustomString;