Logically, only one attachment can affect each stat without complication.
(Which tells me that long barrel cannot be used with silencer).
Another side effect of this is that they need a separate WEAPON FILE for each weapon's changed fire mode, because changing the fire mode for most weapons change:
-Rate of fire (SWAT556, M8, FAL, SMR)
-Recoil / the speed of which the recoil returns to the point you aimed (SWAT556, M8, FAL, SMR)
Thus, to be able to use Grip, long barrel and silencer, they need to use a different weapons file.
Of course, I could be wrong -- but technically, this would be the simplest solution;
Having the mode selector changing the very weapon, as if you used overkill to change classes.