El problema esta en el active:
FPrincipal->ADOQListacandidatos->Active = true;
Si lo quito lo inserta bien y no da fallo, pero el problema es que entonces al volver a mostrar el formulario principal no me muestra los registros, y si pongo el active me da fallo. ¿Como puedo solucionarlo?. Gracias por todo.