Yeah, Appleseed uses event triggers+hooks to abstract out protocols. I haven't written a set of OStatus hooks yet, but it's in the roadmap.
Basically, user A posts a status update, which needs to get pushed out to 10 people on their friends list. For each user, an event is triggered. Say you have support for OStatus, XMPP, and Appleseed's Graph API in three sets of hooks, "ostatus", "xmpp", and "graph".
User B is discovered to use OStatus, so the ostatus hook is executed, and xmpp and graph return null. User C uses XMPP, so those hooks are executed, and the other two return null. The rest use the Appleseed Graph API, which is the default.
This is a little theoretical, since I haven't had the time to build OStatus hooks or anything else, but Appleseed has been able to handle multiple protocols concurrently since around September '10.
Right now, I have two sets of protocol hooks, one for the outdated QuickSocial (which I'll be phasing out), and one for the Graph API, which I'll be moving towards, but both operate simultaneously.
Michael