The quake engine has a platform-independent QVM interpreter.
And your point is .... 
if you have no client/server for a system/os then your QVM will not work on that system
Using DLLs the maintainer of the game server decides which architectures are supported. With QVMs the user can decide this. I understood that you implied the opposite, but I'm no native speaker so maybe I just misunderstood you.
X is the developer of the game.
X needs to compile his game for each platform he wants his game to run on.
X can compile the DLL files for each platform as well.
X actually doesn't really need QVM.
Y is a server side modder.
Y might need to compile his own server for his platform.
Y can compile the DLL files for his platform as well.
Y actually doesn't really need QVM.
Z is a client side modder.
Z needs to compile DLLs for each platform X's game runs on.
Z begs people(including X) to compile his code for a specific platform.
Z actually needed QVM.
Z has a painful life.