So, back to my post a while back - I asked my GM about a counterargument to the whole Virtual Machine/Agent/Cyberprograms bit. His main arguments was "I don't think that's balanced" (which, to be fair, is true - if you can run VM in a program carrier and get 2 free slots, there's no reason ever to get any other one). But that hardly a convincing rule argument, even if it's binding for my own game.
He did have a secondary argument, though, which I find harder to counter. Cyberprograms can only run on their intended system. That is, you can't run Cyberdeck programs on RCC's and vice versa - you must have one made for the platform in question (see sidebar, p269 SR5). So you'd need to find Commlink cyberprograms to run on a commlink - but there are no Commlink cyberprograms.
Program Carriers bypass that since it comes with a hardcoded program that it runs by itself. But using a Virtual Machine would mean you increase the program limit of the Commlink in question - and programs running thusly would be running on the commlink, and thus need commlink programs.