Para quien le pueda interesar en un futuro he aqui la solucion que he encontrado, no se si sera la mejor, pero funciona.
1- Recogemos la posicion del cursor.
Código:
.....
posicion:TPoint;
.....
posicion:=dbrichedti1.CaretPos;
.....
2- Ponemos el cursor en la posicion que estaba y asignamos el texto que queremos introducir.
Código:
dbrichedit1.CaretPos := posicion;
dbrichedit1.SelText :=' muy ';
dbrichedit1.SetFocus;
De esta forma podremos insertar texto por codigo dentro de dbrichedit.