Antonio,
aquí se ha olvidado la "y" del final y se rompe al hacer CanRedo:
METHOD CanRedo() INLINE ::SendMsg( EM_CANREDO, 0, 0 ) != 0 .and. ! ::lReadOnl "y" // esta falta línea 60
Otro fallo, es que botón derecho y CUT, puede pegar pero no lo corta, es decir funciona como copiar no como cortar.
Un Saludo,
Joaquín