CRYSTAL / 16 / BAUD
1000000 / 16 / 9600 = 6.510
integer conversion rounds this down to 6
6 * 9600 * 16 = 921600
921600 / 1000000 = 0.9216
Your baud rate is 7.84% slower than 9600 baud.
You could have rounded up to 7, but since 6.510 is almost dead center it likely wouldn't make much difference.
To round to the nearest integer, you should use the following:
(unsigned int)((double)F_CPU / (double) 16 / (double) BAUD + (double)0.5)
then
subtract 1 for the value to be placed in your register.
Added after 3 minutes:
CRYSTAL / 16 / BAUD
1000000 / 16 / 2400 = 26.041666
integer conversion rounds this down to 26
26 * 2400 * 16 = 998400
998400 / 1000000 = 0.9216
Your baud rate is 0.16% slower than 2400 baud.
In this situation, you are almost dead-on your 2400 baud rate, thus you are fine.
Added after 8 minutes:
fix for typo above:
998400 / 1000000 = 0.9984
Added after 7 minutes:
If you want higher baud rates, then you should choose a higher speed crystal clock rate, and if you want dead-on baud rates then you'll have to choose something like 1.8432 MHz or some multiple of it.
The better microcontrollers have more flexibility in their UART baud rate generators, where the best have a N/M fractional multiplier so you can get dead-on baud rates.
Added after 2 minutes:
Hyperterminal sucks, plus it doesn't come with Vista and 7, so a good choice is the free bare-bone uCon terminal. Not fancy, but it is 100% free and works.
http://www.umonfw.com/ucon/index.html