Uhm, se ho capito bene, basterebbe un

codice:
If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then

    RichTextBox1.SelectionColor = ColorDialog1.Color         

End If
Cosi dopo che cambi colore, il testo già scritto rimane del colore di prima e quello che andrai a scrivere assumerà il colore scelto.
Dovrebbe funzionare anche nel caso dove tu con il mouse vai a selezionare la parte di testo che vuoi colorare.

Ovviamente aggiungi un ColorDialog al tuo progetto