Hola,
A primera vista parece un problema de sintaxis. Supongo que sabrás que del siguiente código:
Código Delphi
[-]
if combobox1.Text= 'cheke' then
combobox3.Enabled:=true;
edit18.Enabled:=false;
edit17.Enabled:=false;
... en caso de que se cumpla la condición, sólo se ejecutará la instrucción inmediatamente posterior, pero, no las siguientes, o, por mejor decir, las siguientes se ejecutarán se cumpla o no se cumpla la condición.
Igual no es ese el problema, pero, pudiera ser que tú quisieras conseguir algo así:
Código Delphi
[-]
if combobox1.Text= 'cheke' then
begin
combobox3.Enabled:=true;
edit18.Enabled:=false;
edit17.Enabled:=false;
end;
En este caso agrupamos las instrucciones en un bloque "begin ... end", de modo que ninguna de ellas se ejecutará si no se cumple la condición, o viceversa, todas se ejecutarán si se cumple la condición. ¿Es eso o estoy equivocado?