De cualquier forma no vas a poder detectar automáticamente los controles sin parent o los componentes sin owner.
Lo que podes hacer es ubicar, con grep o con una busqueda es ubicar todas las llamadas a Create, y aunque te lleve un buen tiempo, revisar que siempre se asigne el parent y el owner.
De hecho, con los componentes, el owner regularmente se asigna en la llamada al constructor, digamos una llamada de la forma
Código:
Procedure TForm1.CrearObjetos;
Var
ComponenteX : TMiComponente;
Begin
ComponenteX := TMiComponente.Create(Self);
end;
Asigna la instancia de Form1 como owner de ComponenteX;
Será tedioso, pero es necesario.
Hasta luego.