It sounds to me as if the PIC never starts up properly, the TX-pin on the PIC never becomes an output so it floats which probably makes the MAX232 output "the wrong" idle state on its output to the PC so the PC keeps "receiving" bytes. Try forcing the TX output on the PIC into the correct state with a resistor. I believe the correct idle state of the TX-line is high and because the MAX232 inverts the signal you should pull it low but I might have that the wrong way around.

Now, this doesn't adress the real problem of WHY the PIC doesn't start up properly, have you measured or scoped the voltage on the MCLR-pin to verify that it's not kept in reset?

/Henrik.