The specific libraries are important for several reasons. Many, like MSXML 4.0, come in OS-specific versions and must be deployed in a particular manner, see: MSXML 4.0 Service Pack 2 (Microsoft XML Core Services).

Others are considered part of the OS and cannot be redistributed, but must be installed or updated via Windows Update or a similar mechanism.

However since after all of this an admin user can still run the program that's probably not what has happened here. More likely something was trashed in HKCU during earlier attempts at per-user installation. The license error message might provide more clues.

You shouldn't need to create MSMs for your own components, they can go right into the MSI in the first place.