If I understand correctly, you have it working to automatically put in carriage returns while a user is typing but if they go back and edit a line it doesn't work. Well, how is it supposed to work? Is it supposed to redo analyze the entire textbox? Or just add another carriage return on the current line?
Have you tried the RichTextBox.Find
If you've tried that but isn't working, maybe you could post a snippet of code to better illustrate what you are trying to do.