Unfortunately, the Windows Ribbon Framework API is very sparing in what it exposes to the application.
For example, you cannot read ribbon button captions programmatically using the "Caption" property from the abstract base class. On the other hand, it works without problems setting these properties from your application. From what I have experienced so far, it's kind of the same with events. You won't recognize that a tab has changed as the regarding interface method IUICommandHandler::Execute is never executed by the API. This isn't something related to the Delphi implementation but to the API itself.
The MSDN article on tabs doesn't mention anything on the execute method either:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd940507(v=vs.85).aspx
At the end I think there is no clean way or at least no way using the API directly to get notified about tab changing events.