Have created a scheduled Workflow that searches for accounts that have the employeetype = contractor, and accountexpires > 90 days or accountexpires is empty. When the workflow is run, it successfully finds the accounts that have accountexpires > 90 days, but not the ones that do not have an accountexpires set.
The filter is this. (fyi, tried the first grouping both as 'AND' and 'OR' with the same results)