MSCE Enable/disable Ribbon items

We use MSCE update 16 for a huge project with 100+ custom applications.

These applications are launched by means of the various items on a custom ribbon.

After long searching and tons of trial/error, I managed to create an XML file that configures the ribbon and is loaded at startup by means of the MS_RIBBONXML entry in the configuration file.

Each item should be enabled/disabled and hidden/shown in accordance to the user's permisions and the type of DGN that is loaded.

On startup, the first MDL application is loaded (by means of the MS_DGNAPPS configuration) and that MDL calls mdlCExpression_publishFunction for 2 functions that have an integer as input parameter and return a boolean.

Each item in the XML has the following parameters:

<SyncItemEvent>SystemEvent.FileOpen</SyncItemEvent>
<Visibility>
  <ShowExpression>[Session]Session.EvalCExprAsBoolean("checkVisible(x)","myApplication")</ShowExpression>
  <FeatureAspect>[Session]Session.EvalCExprAsBoolean("checkEnabled(x)","myApplication")</FeatureAspect>
</Visibility>

Where "x" of course depends on the specific item within the ribbon.

Everything works great except for 1 thing:

The "checkEnabled" function is never called. Not even when checkVisible returns true. I also tried removing the <ShowExpression> entry, but nothing changes.

When configuring "checkVisible" for the FeatureAspect entry, I still get the very same result: the function is not called.

It looks like the <FeatureAspect> is never evaluated.

As usual, I'm quite sure I'm missing something trivial but so far I have no clue.