About first question try that ham forward otherwise use FM_SetModel but that Item_Drop says it is calling when player dies. (Checked in ReGameDLL & Drop function removes that item after a while).
About second, when you pick up weaponbox, it dissapears and you getting packed weapon entity & after drop this entity is re-packed into new weaponbox entity before someone picks it up. WeaponBoxEntity != PickedWeaponFromWeaponBoxEntity