Muchas gracias por tu extenso comentario Roman, me ha despejado muchas dudas que tenía.
Al final os cuento como solucioné e tema para que quede constancia por si algún día alguien busca algo parecido.
Uno de mis problemas era que la propiedad de la ClaseB la tenía definida en
Public en vez de en
Published por lo que no tenía acceso a ella desde la RTTI.
Por otro lado no sabía lo de la directiva de compilación {$M+} por lo que al final hice que la ClaseA heredase de TPersistent aunque ésto lo podría cambiar ahora volviendo a la herencia de TObject y compilando con la directiva que nos ha comentado Roman.
Al final no necesite para nada el GetClass, ya que lo único que tenía que hacer era escribir en una de las propiedades de la ClaseB por lo que desde el exterior me basto con hacer un:
Código Delphi
[-]
SetObjectProp(MiObjeto, 'Propiedad', Valor);
Un saludo y una vez más gracias a todos por vuestra ayuda.