Hi Elena,
Could you verify if the results returned with multiple Roles in search parameters is an intersection, ie, it is returning all the BPs that have all the three roles. That could explain the result being a subset.
You could check if the enhancement spot: CRM_BUPA_IL_SEARCH has been enhanced for altering the search behavior.
Hope this helps.
Regards,
Parul