There may be other places in the code that need to be changed. You'll probably have to examine each use of StackSize and see if it is being cast or assigned to a smaller variable size.
IMO, set them all to 250 and move on. I don't see the benefit being worth the work.
As an example, all of these functions may be suspect:
Code:
// Remove item from inventory
bool DeleteItem(sint16 slot_id, uint8 quantity=0);
// Check whether item exists in inventory
// where argument specifies OR'd list of invWhere constants to look
sint16 HasItem(uint32 item_id, uint8 quantity=0, uint8 where=0xFF);
// Check whether there is space for the specified number of the specified item.
bool HasSpaceForItem(const Item_Struct *ItemToTry, uint8 Quantity);
// Check whether item exists in inventory
// where argument specifies OR'd list of invWhere constants to look
sint16 HasItemByUse(uint8 use, uint8 quantity=0, uint8 where=0xFF);