I know what you did wrong but I'm not very good at explaining things so bear with me here.
Okay, so by default, the text strings are ordered as such:
1) 0x18DFBC ("OAK: Jake?\nLet me think[.]")
2) 0x18E0EA ("OAK: Be patient, Jake.")
3) 0x18DCB9 ("JAKE: Hey! Gramps! No fair!")
Now, the first string begins at 0x18DFBC and ends just before the next one. However, when you edited the string and replaced "[rival]" with "JAKE", you actually changed the length of the string. [rival] takes up two bytes in the ROM and "JAKE" takes up four. However, you didn't allow any extra room for the longer string. So your script editor (probably XSE) inserted that first string (the long one) into the ROM over the old one but because it was two bytes longer, the last two bytes were inserted where the second script used to be. So instead of ending at 0x18E0E9 (right before the beginning of the next string), it ended at 0x18E0EB. THEN, the compiler inserted the second string but didn't take into account the increase in length of the first string and put the second string at 0x18E0EA (which is where you told it to). Because of this, the tail end of the first script was cut off and replaced with the first part of the next string.
Now, when you're playing through the game and it's displaying a string, the way it knows when to stop displaying text is that there is a termination byte, more specifically, '0xFF'. Once the game reads that byte (as opposed to a letter or something), it stops displaying more characters. However, when you compiled that script after changing the length of the first string, the second string was inserted over the termination byte from the previous string. Because of that, the game displays the full first string (minus the last exclamation point because that, too, got overwritten) and then continues to read from what we know is the second string. That's why it adds the second string to the end of the first string.
As for fixing the problem, you'll have to repoint the first string because it's longer than it originally was. Find some free space in your ROM and use that address instead of 0x18DFBC. You'll have to change both the address right above the string ("#org 0x18DFBC") and the one in the script ("msgbox 0x818DFBC"). Hope that helps!