oh jeesus christ... i figured it out...
stateTransitionOnTimeout[3] = "Ready";
this solves everything, the weapon is COMPLETELY bypassing all of the ammo code and the code we added, change that line to:
stateTransitionOnTimeout[3] = "Delay";
and then try it, the scripts are still set up for a machine gun mind you, but for reasons of simplicity we just bypassed the full auto functionality. we could shorten that code quite a bit, but i feel it would be too difficult to explain, so for now we will stick to simple edits...