Based on your description, the data is either inverted, or being sent at the wrong speed. Verify setting match in both your code and on the PC, (for example 9600,8,N,1) and then check your clock on the PIC is correct. The speeds specified in PBP are only valid with a certain clock (4 MHz off the top of my head). You should not need to set DTR, or DCD. Final thing to check is that the RS232 cable is connected properly. If you have not crossed TX to RX, sometimes noise with give screens of garbage.