R.i.m.s.k.y., ляг поспи и все пройдет. ты зациклился на какой-то хрени
еще раз повторяю -
допустим у тебя 4 параметра
3-ий параметр=/silent
4-ый=/haaliavi.
когда цикл обрабатывает 3-ий параметр, то переменная silent присваивается 1 вот по этому условию
Код:

if ( (Lowercase('/silent') = Lowercase(ParamStr(i))) or (Lowercase('/verysilent') = Lowercase(ParamStr(i)))) then silent := 1 else silent := 0;
когда цикл обрабатывает 4-ый парамет, то по этому же самому условию
Код:

if ( (Lowercase('/silent') = Lowercase(ParamStr(i))) or (Lowercase('/verysilent') = Lowercase(ParamStr(i)))) then silent := 1 else silent := 0;
твоя переменная silent становится равной 0
что написал, то и получил