You could create a new character and then look at the inventory entry in the database before clicking enter world. At least you could verify what the initial
save value is.
EDIT: Another thing to look at is how SummonItem modifies its charges:
Code:
ItemInst* inst = database.CreateItem(item, charges);
if (inst) {
// Custom logic for SummonItem
if ((inst->GetCharges()==0))
inst->SetCharges(1);
if ((inst->GetCharges()>0))
inst->SetCharges(inst->GetCharges());
<...>
}
It creates the item first, and then goes back and modifies the inst charges.