Hola
Analicemos tu codigo:
Código Delphi
[-]
query1.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+table1.fieldbyname('cod_instituto').asstring;
query1.sql.text:='select descripcion from turnos where cod_turno='+table1.fieldbyname('cod_turno').asstring;
query1.active:=true;
edit2.Text:=query1.fieldbyname('nombre').asstring;
edit1.Text:=query1.fieldbyname('descripcion').asstring;
edit3.Text:=query1.fieldbyname('direccion').asstring;
edit4.Text:=query1.fieldbyname('telefono').asstring;
Osea, al query1 le colocas un SQL y luego lo BORRAS y colocas otro.
Como pretendes que encuentre lo que estaba en el primer query si lo borraste?.
Ahora la pregunta: Por que?.
Muy simple; por que usas un query y no dos:
Código Delphi
[-]
query1.active:=false;
query2.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+table1.fieldbyname('cod_instituto').asstring;
query2.sql.text:='select descripcion from turnos where cod_turno='+table1.fieldbyname('cod_turno').asstring;
query1.active:=true;
query2.active:=true;
edit2.Text:=query1.fieldbyname('nombre').asstring;
edit1.Text:=query1.fieldbyname('descripcion').asstring;
edit3.Text:=query1.fieldbyname('direccion').asstring;
edit4.Text:=query1.fieldbyname('telefono').asstring;
Para usar un solo query deberías guardar el dato que necesitas en algún lado como podría ser una variable.
Saludos