The best idea is combination of Ham_Item_PrimaryAmmoIndex+Ham_Item_GetItemInf o+new WeaponList message. But that's only for amxx v1.8.3.
If you want to stick with your code, you need to override AmmoX and not CurWeapon (AmmoX is responsible to showing the rest of the ammo). Also you need to update your ammo on Reload and also save it when you drop your weapon and restore on pickup.