0x0D (decimal 13) is an ASCII carriage return character and 0x0A decimal 10) is an ASCII line feed. Some terminals only work with text and take both of these to be the end of line so may not echo them. Some just treat one as end of line and ignore the other. If, as you seem to be, you are sending binary data then both your sender and receiver need to be configured to handle binary data and not treat the data as text. Looks as though the Serial class just ignores carriage return; you need to look at the Serial class source code.
It can, it can do exactly what CoolTerm can do. However you have to know what CoolTerm actually does. I suspect it is sending more than just the one byte.
Try writing a sketch that just reads serial data and prints out the ASCII of the bytes it sends. My bet is that their is a LF or CR in there as well.
You are sending binary values. HEX is a human readable representation of a binary value.
If sending just that byte works with CoolTerm and not with the Arduino, there is something wrong with the Arduino code, which you forgot to post. Please use code tags.