I don't know if this will help, but I have databases that get the "too complex" error if records are missing certain data. If, for example, it needs to evaluate the distance between StartTime and EndTime, but EndTime is null for one record, the query will fail.
Try setting criteria on...