Thank you all for the help. I've learned a lot more that need just to fix this one issue, and that's good. When I traced the code, I released than the "NO" option was GOTOing (eventually) to the GOSUB that I was GOTOing out of. I was stacking the same GOSUB over and over.
rje, wow! that code is very close to a subroutine of the code I can't reveal at this time but line 650, as mentioned, is outside of this subroutine.
The code I'm working on is more spaghettified than anything I ever managed to do myself, and that's saying something. And it is over 400 lines now. Also, most lines are sequential leaving very little room to insert lines without renumbering the entire mess. I was hoping to make some small changes to fit it into x16 BASIC and the 80 character line limit. So the original author could recognize it even after the conversion. But, now that I know about the BASIC stack, I'm not sure this is an option. I should mention, the original author's version is bug free. I'm the one to blame for moving a segment into a subroutine and thinking I could get away with a GOTO. My my computer teachers always scolded me for using GOTO without fully explaining why. Now I understand, it not just about readability, GOTOs can actually break a program.