Das Prozentzeichen, welches LIKE als Wildcard verwendet, wird auch von Format() interpretiert - mein Fehler.
Ändere das mal so ab:
Delphi-Quellcode:
begin
// ...
s.Add(Format('%s wert %s LIKE ', [
IfThen(s.Count = 1, 'AND'),
IfThen(not Boxes[i].Checked, 'NOT')
]) + QuotedStr(Format('%%%s%%',[Boxes[i].Name]))
);
Getippt und nicht getestet.