It all looks good to me, and I think it should work. The only thing I can sujest is that you make an OCL for each individual weapon, i.e.
Code:
ObjectCreationList OCL_A7VGun01
CreateObject
ObjectNames = A7VMGun01
Count = 1
ContainInsideSourceObject = Yes
End
End
Then make an upgrade tag for all of the new OCLs, all of them using the same upgrade of cource. Try tht and see if it works, its all I can think of.
BTW, should "ObjUp01" not be "ModuleTag_ObjUp01", do tht as well