Пытался по вашему примеру
Код:
SQL.Add('WHERE BSO.Num BETWEEN iif(:Num_Start is null, Num, :Num_Start) and iif(:Num_End is null, Num, :Num_End)' );
Parameters.ParamByName('Num_Start').Value := Num_S;
Parameters.ParamByName('Num_End').Value := Num_E;
но тоже не выходит.