Im not sure whether someone came up with this already or not, but I havent heard anything like that before so here is how to get custom ranged weapon working.
1. add unlimited ammo property - this allowed my custom ranged weapon to fire, but the weapon was destroyed after first shot so I didn't gave up...
2. add a AssignCommand(oItem,SetIsDestroyable(FALSE)); line into OnEquip for your custom content base item - this workarounded the destruction and I was able to shoot with this weapon as if it was normal weapon
However, I did not tested this thoroughly. It might be possible this is somehow hardcoded into repeating crossbow which I recovered from core game files and tested this with it.