I just tested with 3.6.3 (i.e. before this change) and no, critera.createCriteria("x", JoinFragment.LEFT_OUTER_JOIN) + critera.setFetchMode("x", FetchMode.SELECT) does not prevent the collection from being fetched and thus filtered.
What we must to be able to do, is to query for entities and restrict on conditions that apply to their children (i.e. "find all orders with item 'X' on any order line"). Assuming this issue is reverted, is there an easier way to retrieve all the children of an entity queried in such manner, than to remove the entity from session cache and re-read it by PK without restrictions? Unless there is, Criterias would again become practically useless in such scenario.
(Btw, I'm not the one providing the patch. I think it was Gail.)