mrtd: No, the whole RMEnsure thing is a red herring. The correct modules should be installed when you install the program, if it's not, then it's a packaging failure.
Never mind that modules are just one small part of things on your system that can be upgraded, but the whole idea of "dynamically" checking versions will just cause frustration in the break up of the user/GUI experience, when the correct thing should have been installed in the first place. Not to mention the issue that Graham just hightlighted, that you can't be sure that an old version isn't in use.
No, please don't presume. An app that is "seen", can't reliably be checked for module dependencies without running it, or checking the dependency information when it is installed. It is at this latter point this should be fixed up.
Yes, we _know_ checking for new versions of software is possible. This is the entire point of this article and of RiscPkg. The rest of what you've said in your comment is no different to what has been said all along, so I'm not sure of your point.