Как выбрать диапазоны дат, которые пересекаются с другим диапазоном, экспертно объяснено здесь: Сравнение диапазонов дат
Таким образом, вы, вероятно, хотите запросить что-то вроде этого:
$start = date('Y-m-d');
$end = date('Y-m-d', strtotime('+1 month'));
$conditions = array('Event.start <=' => $end, 'Event.end >=' => $start);
$this->Event->find('all', array('conditions' => $conditions));
Это найдет все события в следующем месяце. Они могут начинаться раньше или заканчиваться позже, но они будут пересекаться с месяцем.