Creo que no los dibuja porque no les dices dónde tienen que dibujarse. Le dices qué componente es el propietario ("Owner") en el constructor, pero después tienes que asignar la propiedad "Parent", que es donde dibujará el TFrame. Asumiendo que lo vas a dibujar en el mismo objeto que lo contiene, sería:
Código Delphi
[-] aFiltro.parent := PNLFiltro;
El "Owner" únicamente se encarga de mantener al objeto, de destruirlo cuando convenga, pero no de dibujarlo.