Yes, right. Come to think of it, text is appended in chunks of one line ending in vbCrLf.
So it is possibly best to delete in the same units. So SelLength can be determined as
rtb.SelLength = InStr(rtb.SelStart+1, rtb.Text, vbCrLf) +1

But I think you are mistaken concerning the TextRTF property. It is risky to make changes there unless you don't know the syntax of rich text format.
I invite you to look at the little sample form I had attached in my previous post.
It displays the .Text in the left window and shows the .TextRTF in the right one.
The .TextRTF contains all the formatting commands and is not for direct display or editing.
When you create some colored text in the left window you can see how formatting commands are created in the right one. A colortable is built at the top of the file.
The command /cf1 changes color of the following text to the color which is first in the color table. /par denotes a CrLf or new line. If the text is properly created with color specs and all, nothing should go lost when you delete individual lines.