Recently we did a customization to create custom XDS policy and found out that Query::insert_recordset() ignores it, so all data is selected.
Simple workaround is to rewrite Query::insert_recordset() to while(queryRun.Next()).
However no one really wants to modify bunch of standard code that uses this method so connect issue was created. Feel free to vote for it.
It could be reproduced in AX 2012 and AX 7 as well.