Zenphoto is a complete stand-alone script, not a WP plugin, althought there is a ZenPhotoPress plugin that makes it easy to integrate in WordPress. I haven’t tried it in Buddypress yet, but it should do 80 percent of what you’d need. If it doesn’t, you could probably write plugins to connect Buddypress to functionality in Zenphoto.
General point: Why would you want to try to cram this kind of functionality into Buddypress plugin? Or even integrate it into the core (shudder…)?
Same thing goes for event registration. If Buddypress had a more straightforward, standard member management structure, integrating any outside event management script would be a lot easier. Please concentrate on the core before adding more bells and whistles!