Suppose we want to calculate the product of -.1796042 and 4.752947, so
we
type:
display -.1796042^4.752947
and we get
-.00028563

this produces - ( .1796^0.475), not (-.179)^4.75 (whatever that would
mean). The product (if you want it) would be written with a "*" not a
"^".

However, if we have variable X= -.1796042 and variable Y=4.752947, and
we
type
gen Z=X*Y, Stata will generate Z=. even though Z should be -.00028563.

I think you are mixing some things here. X*Y should work well (and be
-.85), but X^Y (which you indicate above) will not work since negative
numbers raised to non-integers will not work (for good mathematical
reasons, this has nothing to do with the storage types).