Control weaponframe animation via PlayerPostThink or better, W_WeaponFrame (in weapons.qc).
Use an animation state control system, and make some functions to more easily set / cancel animations as needed.
That way, you can avoid interrupting player animations.