Bueno, Caral, ya te lo ha explicado, esto está mal.
Código:
1 - SQL.Text:= 'SELECT * FROM BDinscripcion WHERE NomE = '+QuotedStr(NomE.Text);
2 - SQL.Text:= 'SELECT * FROM BDinscripcion WHERE ApePE = '+QuotedStr(ApePE.Text);
3 - SQL.Text:= 'SELECT * FROM BDinscripcion WHERE ApeME = '+QuotedStr(ApeME.Text);
Evidentemente, 2 sobreescribe a 1, y 3 sobreescribe a 2, así que siempre se ejecuta el 3.
Tienes varias posibilidades, pero quizás la más cómoda puede ser añadir un campo a cada registro que sea la suma completa de los campos.
Me explico, tienes: id, nombre, apellido1, apellido2, domicilio, telefono
Pues añade a la tabla un campo que sea: nombrecompleto, entonces tu tabla sería algo así: id, nombre, apellido1, apellido2, domicilio, telefono, nombrecompleto
Al dar de alta un registro debes rellenar ese campo uniendo "nombre'+'apellido1,+'apellido2',
Puedes crear un índice único por ese campo, así lo tendrías controlado.