Error using complex math

I am currently getting a strange error. "Complex wave used in real expression". Code worked back in Igor 6.22 but now running 6.32A

matrix[0][0] = (cabs(matrix[0][0]))^2


at the time of the error, this matrix element had the values of (-2.6423,6.3329). If I use the print command with the right hand side of the expression, it works. However it fails when trying to write the value back into the wave (overwritting the current data). Is this just something that was accidentally allowed in the previous versions and has since been blocked?
You need to make sure that both sides of the equation have the same number type. Here you appear to be setting a complex wave to a real value. So, one approach that might work for you:
matrix[0][0]=cmplx((cabs(matrix[0][0])^2,0)


That's a little confusing to me because I can do

matrix[0][0] = 7


and it assigns (7,0) why would it be any different?