Have a look at how bpcp/controller.php generates activities for posts
being created/updated. The one in the release is slightly
incorrect—but this has been corrected in the trunk, which you can grab
here:
https://github.com/kunalb/BuddyPress-Custom-Posts/blob/master/controller.php(create_post_activity and edit_post_activity).
One of the advantages (I think) of eventpress is that it doesn't
create any new tables. Registrations are posts of type ep_reg, events
are posts of type ep_event. All registrations for a post are children
of that event, with the author of the registration as the person who
registered.
Kunal