Ahh. Good point. I checked the results of the calculations and it appears that are performed correctly with the necessary 32-bit values. For whatever reason, the variable window was displaying only their 16-bit truncated values.
I suppose I trusted too much in CCS.
Thanks for your help!