If you're repurposing a command, the callback procedure declaration has to be slightly different, so that you can specify whether to allow the default action to run too:
Code:
Sub cbDoProtectSheetRepurpose(control As IRibbonControl, ByRef cancelDefault)
cancelDefault = True
doProtectSheet
End Sub