That doesn't work for Custom Objects with a potential one-to-many relationship. If your Smart List is:
Has Custom Object A with constraint "Trial Start Date in past before 14 days"
Has Custom Object A with constraint "Trial Start Date is not empty"
it will return persons with two COs where only one of these COs has an empty Trial Start Date.
Well, sure - because the person with the two COs qualifies for that logic. This is similar to dealing with logic based around Opportunities (say you want something to happen when an Opportunity is closed:lost - but only if the person has not other open Opportunities). Because someone can have more than one of them you have to use more complex logic. If this is something you are wrestling with I'd be happy to offer a suggestion if you explained what you were trying to achieve.
My advice would be to never use the Before logic. Just use the Between logic with a very low boundary. I agree about adding a warning in the UI though!