Aquí hay que hacer varias consideraciones:
1. El TEdit no es un TForm, y por lo tanto, no tiene un método Show (). Se muestra solo en un contenedor.
2. La creación de un TEdit se realiza de la siguiente forma:
TEdit * Alfa = new TEdit (Owner);
Owner es el nombre del objeto al cual pertenecerá el TEdit. Este propietario (owner) es el encargado de liberar el objeto (con delete) una vez que el conjunto se destruye, por lo general también eliminando el formulario. Si no querés que suceda esto, el parámetro Owner debe ser directamente NULL, y nadie, excepto vos, lo va a destruir. Corre por cuenta tuya la destrucción del TEdit.
3. Para que el TEdit, o cualquier control, se visualice en un contenedor, como un descendiente de TForm, debe tener un Parent (padre). Este Parent es el objeto en donde se muestra el control hijo. No se debe confundir Parent con Owner, que pueden ser distintos, y tienen diferentes tareas. Por lo general el Owner de todos los controles es el TForm. Ejemplo:
Alfa->Parent = Form1;
Digamos que tenés que asignarle un Parent que puede ser el formulario o un TPanel que tengás dentro del formulario, por citar un ejemplo.
4. Ya con un Parent, el control TEdit debe tener sus coordenadas relativas para mostrarse, es decir, hay que especificar a cuántos píxeles desde el borde izquierdo y desde el borde superior del Parent tiene que aparecer. Estas propiedades son Left y Top, que por defecto son 0. Ejemplo:
Alfa->Left = 20;
Alfa->Top = 20;
5. También tenés que definir el tamaño del TEdit, con las propiedades Height y Width (alto y ancho). Ejemplo:
Alfa->Width = 200;
Alfa->Height = 25;
6. Luego se procede a la destrucción del control TEdit, una vez que realizó todo su cometido. Ejemplo:
delete Alfa;
Alfa = NULL; /* para que no vuelva a ser utilizado, por las dudas, aunque esto es cuestión de gusto */
En síntesis, esto es cuestión de programar unas cuantas propiedades para que funcione correctamente.
Cordiales saludos.