Hi David,
When you are converting from I16 to U16 format you are only changing the way the 16 bits are represented. Taking your example, -300 in I16 has the same bit representation as 65236 in U16 and there is no change in the bits themselves. When you are passing this U16 number to the control of another vi which is of type I16, this number is getting typecast to I16 and hence you are getting back -300. This is the reason why you are able to get analog output corresponding to scaled version of -300. I am attaching a vi to illustrate what I have stated above. Hope this explains your observation.
-Ananth