I recently went down the same path on a particular DSP. It appears division rounds, but shift truncates. Although I had colleagues who assured me that division and shift were identical, this is clearly not the case.
It turns out that right-shift on signed integers is actually "implementation defined" behaviour, as mentioned in this thread fast divide of signed number using SHIFT ?