It looks like it should work. Is your AfterRibbonTabSelected event handler being called?
Yes it is, and it then the code goes to the property "RibbonTabSelected" and "SetActiveTab", but the Tab is not shown as selected at that point.
I've attached a zip file with my test project for you use.
Thanks,
PR