i had a similar query like this, and i think i know what you are wanting to say with it. the reason it is returning so many results is because of the CHECKLIST_ITEMS.checklist_item_ID != CHECKLIST_MANAGER.checklist_item_ID part. what mysql is doing here (i think, im new to it) is it will take one record and compare it to a different record, not necessarily check so that this record doesnt match all of the records. its looking at things individually, not as a whole.
if im right, you should look into the NOT IN syntax. this is a rough guess, and im not sure if it would work, but you could try something like this.
$sql = mysql_query("SELECT
checklist_item_ID,
checklist_item_name,
created_by,
date_created
FROM CHECKLIST_ITEMS WHERE checklist_item_ID NOT IN
(SELECT checklist_item_ID FROM CHECKLIST_MANAGER
WHERE checklist_name_ID = '$checklist_name_ID')");
$sql_results = mysql_num_rows($sql);
try that. hope it helps, although im not sure. i still kind of wince at the fact that im giving advice, considering i am very new to mysql, but i think this could help.
good luck.