That is the common definition of the shadow price. However, it assumes that the basic status of the variables and constraint doesn't change. So, in some cases it might just be valid for a small change in the right hand side of a constraint and not for one unit of change.
In your particular case it is related to the fact that you have a MIP model. The shadow prices of MIP models are calculated during the post solve. In the post solve, all integer variables are fixed and the shadow prices are calculated the resulting LP. As you only have binary variables, this LP is actually empty and hence the shadowprice will be 0. Your objective still changes when you change the right hand side, because your binary solution actually changes, but that is not covered by the shadow price.
Peter Nieuwesteeg
Senior AIMMS & Optimization Specialist