No conozco mucho el C++ Builder, pero me parece que estás asignando mal la propiedad en el método "Set". ¿No podrías hacer simplemente esta asignación: FForm = aValue?
Es decir, lo que tienes que conseguir es que la variable FForm "apunte" a la misma dirección dada por el parámetro (y me parece, si no estoy equivocado, que lo que estás haciendo es inicializar incorrectamente una nueva instancia del puntero pasado como parámetro, que, en tal caso, creo que sería así: FForm = new aValue).
(Tambien puede ser que esté diciendo una burrada! pero, como ya dije, no conozco mucho C++ Builder, de todas formas existe un foro donde te podrán ayudar mas:
http://www.clubdelphi.com/foros/forumdisplay.php?f=13)
Saludos!