In the 'A' mode, you have to send the read command twice to the HMC6352 to get fresh data. The first read locks in a new value and the second read gets you the new data.
Once you get data, you multiply the first byte by 256 and add it to the second byte, and divide the sum by 10. That will give you a reading in degrees.
Here's the code we use on the SRV-1 Blackfin board -
i2c_data[0] = 0x41; // read compass twice to clear last reading
i2cread(0x21, (unsigned char * )i2c_data, 2, SCCB_ON);
i2c_data[0] = 0x41;
i2cread(0x21, (unsigned char * )i2c_data, 2, SCCB_ON);
ix = ((i2c_data[0] << 8 ) + i2c_data[1] ) / 10;