When you just type characters into Hyper Terminal it transmits those ASCII characters, not the byte values you're trying to represent.
So, when you type: 0Xaa 0Xc4 0x4c
Hyper Terminal actually sends: 0x30 0x58 0x61 0x61 0x20 0x30 0x58 0x63 0x34 0x20 0x30 0x78 0x34 0x63
And when you type: 170 196 76
Hyper terminal actually sends: 0x31 0x37 0x30 0x20 0x31 0x39 0x36 0x20 0x37 0x36
You can coax Hyper Terminal into sending actual byte values by holding down alt, typing the three character decimal value of the number you want to send (001 instead of 1) and releasing alt. It's tricky, typos will mess it up, you don't have a good way to see what you've actually sent, and it only works for numbers 126 and less. The only way I know of to reliably send arbitrary binary values with Hyper Terminal is to create a file before hand and transmit that file, although then you need a separate hex editor.
Br@y terminal is a much better Windows terminal program to use. As mentioned above, you can find a link and instructions for sending hex and decimal byte values with it here.