>> magnitude of 103 (67 in hex) means 6.7
Additional info: 6.7 in fixed decimal (16.4) representation is the real value of 6.4375. In binary representation 103 = 1100111 or 0000000000000110.0111 in fixed decimal (16.4).
Taking the last 4 digits as the fractional part gives:
0 * (0.5) + 1 * (0.25) + 1 * (0.125) + 1 * (0.0625) = .4375, so you have a fixed point representation of 6.4375 which is slightly over matlab's result of 6.4031. A 6.6 fixed decimal (16.4) value is a real value of 6.375 which is slightly under, but closer to the actual result from matlab.
I think the cordic routine isn't expected to get the last fractional digit perfect, so it appears that may be working for your r value.
I haven't tried to analyze the angle portion, nor do I know how at this point in time.