Well for all of the friends who are working with loops, please note one thing in your code and that is that your code keeps on looping to the end of the list, in this case let us assume we have 4 items and the second item is the one which you are trying to insert, the found flag will be true but with the next iteration it will become false again, so you need to break out of loop if you find the item in the list and then the code in the top solution will work alright like this
dim fnd as boolean
dim strToSrch as string 'whatever
fnd = false
for lp = 0 to list1.listcount - 1
if list1.list(lp) = strToSrch then
fnd = true
exit for
end if
next
if fnd = true then
list1.additem strToSrch
end if
Hope this helps