RichTextBox no muestra todos los datos cuando sobrescribo CreateParams

I encontró Algún código antiguo escrito por NoBugz (Hans Passant) que, si entiendo, obliga a richtextbox a usar RTF 5.0 en lugar de 4.0. Básicamente es solo una clase que hereda.RichTextBox y anula elCreateParams propiedad como tal

private static IntPtr moduleHandle;

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);

protected override CreateParams CreateParams
{
    get
    {
        if (moduleHandle == IntPtr.Zero)
        {
            moduleHandle = LoadLibrary("msftedit.dll");
            if ((long)moduleHandle < 0x20) throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not load Msftedit.dll");
        }
        CreateParams createParams = base.CreateParams;
        createParams.ClassName = "RichEdit50W";
        if (this.Multiline)
        {
            if (((this.ScrollBars & RichTextBoxScrollBars.Horizontal) != RichTextBoxScrollBars.None) && !base.WordWrap)
            {
                createParams.Style |= 0x100000;
                if ((this.ScrollBars & ((RichTextBoxScrollBars)0x10)) != RichTextBoxScrollBars.None)
                {
                    createParams.Style |= 0x2000;
                }
            }
            if ((this.ScrollBars & RichTextBoxScrollBars.Vertical) != RichTextBoxScrollBars.None)
            {
                createParams.Style |= 0x200000;
                if ((this.ScrollBars & ((RichTextBoxScrollBars)0x10)) != RichTextBoxScrollBars.None)
                {
                    createParams.Style |= 0x2000;
                }
             }
        }
        if ((BorderStyle.FixedSingle == base.BorderStyle) && ((createParams.Style & 0x800000) != 0))
        {
            createParams.Style &= -8388609;
            createParams.ExStyle |= 0x200;
        }
        return createParams;
    }
}

Cuando realizo este reemplazo, no puedo hacer que mi RTF se muestre más allá de la primera línea. p.ej.

string rtf = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}{\f1 Courier New;}}\viewkind4\uc1\pard\lang1033\f0\fs20 {\pard\f0\ul\b Activated Partial Thromboplastin Time\b0 : Collected: "
                 + @"8/21/2012 4:15:00 AM\ulnon\f0\par}\par\pard\lang1033\f0\fs20 {\trowd"
                 + @"\trql\trgaph100\trrh280\trleft0\intbl"
                 + @"\cellx4000"
                 + @"\cellx9500"
                 + @"Activated Partial Thromboplastin Time\cell"
                 + @"36.8 Seconds\cell"
                 + @"\intbl\row}";
CustomRtb cRtb = new CustomRtb();
cRtb.Rtf = rtf;//Only the first line shows in the form...

¿El nuevo estándar es mucho menos indulgente con los errores de Rtf o qué? Necesito el formato de tabla más bonito que ofrece 5.0

ACTUALIZAR
Los datos se muestran si cambio

+ @"\trql\trgaph100\trrh280\trleft0\intbl"

a

+ @"\trql\trgaph100\trrh280\trleft0"

Tras realizar más pruebas descubrí que el RTF se ve bien en MS Word. De hecho, nuestro código genera el RTF con MsftEdit como se indica aquí:

{\*\generator Msftedit 5.41.21.2510;}. Abro el RTF real en Word y se ve bien. Utilizo este código y coincide bastante con lo que veo en la palabra. Solo necesito quitar algunos bordes. Voy a tener que hacer una investigación más profunda para ver por qué Msftedit está generando el RTF para que esté ligeramente mal alineado en las tablas. Pero sí, en general, esta pregunta es simplemente ir más allá del alcance de lo que puedo hacer en SO.

Respuestas a la pregunta(1)

Su respuesta a la pregunta