Was du da zum Teil durchführst ist beispielweise eine bitweise AND-Operation.
Nehmen wir mal den Ausdruck "(117 AND -1)". Da kommt die Zahl 117 raus und kein Boolean-Wert.
Dann wird aus deinem Ausdruck "if (sel <> (117 AND -1)) then ..." ein "if (sel <> 117) then ..."
Zum testen:
Delphi-Quellcode:
var int: Integer;
begin
int := (117 and -1);
ShowMessage(IntToStr(int));
Zum nachlesen:
http://de.wikipedia.org/wiki/Bitweiser_Operator