I got same error too when the actors doesnt equip a weapon when they performing the skill. The error is:

If i'm not mistaken, your script would only decrease the equiped bullet right? I mean if <spendsAmmo:2> skill is used then it doesnt matter if the weapon were filled by bullet or grenade, it will deplete 2 ammo.
I think my suggestion would be to disable the skill (the skill greyed out) if the actor didnt equiped the proper Weapon and Ammo. The <spendsAmmo:n> command at skill adjustment is good, but it would be better if it use a restriction, only certain ammo could be used to perform the skill. Something like : <weapon[2]> <spendsRubberBullet:5> <spendsGoldenBullet:2> so the skill could only performed when the actor equiped with weapon ID [2] and it will consume 5 Rubber Bullet or 2 Golden Bullet.
And I have some question. If a weapon could be filled by Bullet A, Bullet B & Bullet C. We choose to equip our actor with Bullet B. When the ammo's run out, if we try to reload it, which bullet would fill the weapon? The lower [ID] bullet or the last used bullet? For this I had a suggestion, that it would be nice when the <reloads> skill is selected, then it would open a window (or just open a normal item window) so that player could coose which ammo he would use. It would be great when player realized his fire ammo didnt went well to hurt the monster, then he reload his gun and change the ammo to ice bullet.

For the last suggestion, it would be
tremendeous if you could erase the "there was no effect on <actor>"-thing when we use the reload skill... hehehe...
Anyway, again, I say: great script you made here composer.