Сказать что работает не правильно это полдела, ты бы предложил решение и тогда говорил.
На самом деле решается довольно просто, совсем небольшим изменением кода:
Код:
var
s:string //это твоя добавляемая строка
begin
{Some code}
if pos(s+#$0D#$0A,ComboBox.Items.Text)>0 then
ShowMessage('Попытались записать строку повторно!')
else
ComboBox.Items.Append(s);
{Some code}
end;
вот так не будет цеплять подстроки, возможно следует учесть еще и начальные/конечные пробелы, регистр букв и прочее (типа знаки препинания

)