Except you're not running a commlink cyberprogram on a commlink with a program carrier module; you're running a cyberdeck cyberprogram on the program carrier module, which has the dedicated hardware necessary for it. You still wouldn't be running the cyberdeck cyberprograms on your commlink if you got Virtual Machine in a program carrier, because the program carrier is the hardware that would be running the virtual machine (and thus the two extra programs).
Virtual Machine doesn't run two programs - it increases the program limit of the device (so, the commlink - the program carrier isn't a device upon itself) by 2. So while the argument is true for the program carrier itself, it is not the case for the Virtual Machine's programs - those still run on the commlink.
Question: in your view, if you mod in a Program Carrier with Virtual Machine to an RCC, does it run RCC programs or Cyberdeck programs? Can it run Autosofts?
As for your GMs argument; if the writers intended for Virtual Machine to be an exception to the rule about Program Carriers, don't you think they would have stated as much explicitly?
I'm not saying there is an exception. You can, absolutely, run Virtual Machine on a Program Carrier. If you do that in a Cyberdeck, it does exactly as you say. You can run it (via PC) on a commlink as well - it just doesn't
do anything.
That's not unique to Virtual Machine, either. You can get a Configurator or Hammer Program Carrier as well. You could also install those in a commlink and run them - they just won't actually do anything, since you can't do the things they modify on a commlink.
Besides, there's already another commlink out there with an Agent program; the Nixdorf.
Yes. Special commlinks with build-in things can break the standard rules. You can't usually modify commlinks to have 5 Sleaze either, but you can if you buy the one with that buildin. That doesn't mean you can run a regular agent on a Commlink.