All I can offer is the source code for android.app.BackupAgent and the source code for android.backup.BackupManager.
BackupAgent is an abstract class and according to the javadoc in the source it "is the central interface between an application and Android's settings backup mechanism." It has abstract onBackup() and onRestore() methods.
There is also BackupManager. The javadoc says "BackupManager is the interface to the system's backup service. Applications simply instantiate one, and then use that instance to communicate with the backup infrastructure." It has a dataChanged() method to call to schedule a backup and a beginRestoreSession() method to start a restore.
Now, the interesting things in the code for BackupManager are:
*
* @hide pending API solidification
*/
and:
/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;
So it seems that this is still a work in progress and the EVEN_THINK_ABOUT_DOING_RESTORE member variable is an easy way to disable backup functionality. My guess is that it is disabled in production Android builds.