Well, 63.5 using that conversion is h'FF. That's the SSM parameter. 0x22 isn't the actual address, just an offset used by the SSM routines to call a function that 'fetches' the actual value from RAM.
After looking at the 08 STi rom, 0x22 isn't a supported parameter, the SSM function just returns h'FF from ROM.
So, you'll need to use the following to get KC advance:
Code:
<ecuparam id="E40" name="Knock Correction Advance (IAM only)*" desc="">
<ecu id="5A42784207">
<address length="4">0xFF7CB0</address>
</ecu>
<conversions>
<conversion units="degrees" storagetype="float" expr="x" format="0.00" />
</conversions>
</ecuparam>
BTW, KC advance IMO is a pointless parameter to log. Keep it simple and use load/rpm to interpolate the timing maps, and IAM to calculate KC advance, then check it against Ignition Total Timing to see if any other compensations are applied.
If you're looking for an actual measure of the ecu correcting knock, the above will suffice, but FBKC is much easier to watch during a log as a failsafe.