The reason for this is that the Portlet model needs to have the knowledge of the event description so that the proper artifacts can be generated when the deployment war is created. Since the Portlet Adapter builder is in the parent model, the event information is lost.
You can overcome this by placing a Cooperative Portlet Source or Target builder in both the container & child models. Both should declare the same event (in fact you could create a common model and import it into both). The one in the container will cause the required artifacts to be created, and the one in the child will be used.