yo empezaria por
Código:
ADOQInsertar->SQL->Clear();
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES("+ENombre->Text.Trim()+");");
cadena = ADOQInsertar->SQL->Text.Trim();
Edit1->Text = cadena;
ADOQInsertar->ExecSQL();
ADOQInsertar->Active = true;
FPrincipal->DBGCandidatos->DataSource = DSInsertar;
unir las lineas de la sentencia, ya q no recuerdo si el Add agrega al final del texto o agrega una nueva linea, otra cosa...no veo el Id, el primer error q mencionas es raro, pero antes de insertar yo me aseguraria q la longitud del ENombre->Text.Trim() fuera distinta de 0 xq sino estaria mandando una cadena nula.........ves

?, otra mas.........creo q deberias encerrar entre comillas o comillas dobles el nombre (xq supogo q es una cadena), seria algo asi....
Código:
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES('"+ENombre->Text.Trim()+"');");
//o asi....
ADOQInsertar->SQL->Add("INSERT INTO candidatos(Nombre) VALUES(\""+ENombre->Text.Trim()+"\");");
dependiendo de tu BD, hay algunas q aceptan de las 2, suerte