I think this is because the BehaviorCollection is just listening to these events (taken from the class):
public function implementedEvents() {
return array(
'Model.beforeFind' => 'trigger',
'Model.afterFind' => 'trigger',
'Model.beforeValidate' => 'trigger',
'Model.afterValidate' => 'trigger',
'Model.beforeSave' => 'trigger',
'Model.afterSave' => 'trigger',
'Model.beforeDelete' => 'trigger',
'Model.afterDelete' => 'trigger'
);
}
Not the behaviors listen to the events but the collection and triggers them on behaviors. Not 100% sure about that without looking it up but I think that's how it works.
What you could try to do is to make the behavior that needs to receive these events directly to listen the event.