Simple, the intended 1-byte value of zero - eg.VDU 23,0,2,0,0,0,0,0,0,0 is being replaced with an equal number of 4-byte zeros - the VDU23 command uses how many it needs for data, then the rest are output and it just happens that (each extra) VDU0 has no obvious effect.
Now if the command had been VDU 23,0,2,123,234,12,23,32,17,65,99 but was typed as VDU 23,0,2,123;234;12;23;32;17;65;99
several non-zero values would be passed after VDU23 had taken enough data to work with, not only would there have been extra codes sent with their own undesirable effects but the data passed to the VDU23 command would have been corrupt: instead of 123,234 it would have received 0,0,0,123,0,0,0,234 etc.