There is Ham_Weapon_Reload, and you can check the weapon's bullets there, but i think you will encounter bugs that way...
Stick to CurWeapon, i use it in over 10 plugins and i have 20-30% cpu usage on a heavy modified ZP 5.0 version...
You are wasting time trying to optimize that code... Biohazzard has 2000 lines of code.. i got 10k only in nade modes plugin...