Bart, I assume that since Jon can't find the cause, it's more than just a casting error. But you have a good point: it would make sense in terms of maintaining forging status if an item's stats were stored as a floating point value - just take the floor of the value when calculating effective damage. And similarly when training DD spell stats.
But could that be the cause of the ammo bug?