Hi Mike,
Looking into the Java of the latest version of Community Commons, I see that the action executeMicroflowAsUser has the following declaration:
public executeMicroflowAsUser(IContext context, java.lang.String microflow, java.lang.String username, java.lang.Boolean sudoContext)
So it looks like on the back end, nothing has changed. The name of the microflow is still passed as a string, which makes sense because all the core API actions take string parameters when referring to microflows. I assume this change was made to make it easier for less knowledgeable users to reference existing microflows, but changing the 'type' of the microflow parameter from microflow to string in the java action in Mendix should work just fine. This would allow you to use any old string including ones you define at runtime. I think the developers of this action missed your important use case when updating the module.
The simplest solution is probably to just change the action parameter type back to String (as Rob says, the java API has not changed). Alternatively create your own java action wrapper (as changing the module causes again problems with the next update)
This change in community commons has btw. already been discussed. It makes sense to have this action with the microflow as a parameter. That way you can properly find usage of microflows that are called this way and you also prevent refactoring issues when renaming microflows.
However I also think it was a bad decision to simply change the existing API.