In the version of Fuse I was using - 6.0 (Redhat 60042) - The fabric bundle and it's dependencies aren't started before the feature bundles so the features bundle has no knowledge about the fab protocol. Ensuring the fabric bundle is started before the features bundle can be accomplished by adding the following to your startup.properties:
org/fusesource/fabric/fab/fab-osgi/7.2.0.redhat-024/fab-osgi-7.2.0.redhat-024.jar=10
org/fusesource/fabric/common-util/7.2.0.redhat-024/common-util-7.2.0.redhat-024.jar=10
org/ops4j/base/ops4j-base-net/1.2.2/ops4j-base-net-1.2.2.jar=10
org/ops4j/base/ops4j-base-lang/1.2.2/ops4j-base-lang-1.2.2.jar=10
org/ops4j/base/ops4j-base-util-property/1.2.2/ops4j-base-util-property-1.2.2.jar=10
org/ops4j/pax/swissbox/pax-swissbox-optional-jcl/1.3.1/pax-swissbox-optional-jcl-1.3.1.jar=10
org/ops4j/base/ops4j-base-monitors/1.2.2/ops4j-base-monitors-1.2.2.jar=10
org/ops4j/pax/swissbox/pax-swissbox-property/1.2.0/pax-swissbox-property-1.2.0.jar=10
I'm not sure that 10 is an appropriate start level but it seemed to work for me without problems.