It sounds like you need a LEFT JOIN? It will return the row you're interested in if it exists and a NULL if it doesn't.
SELECT DISTINCT cb.customers_id, c.customers_firstname, c.customers_lastname, c.customers_email_address, sc.datemodified AS last_contacted
FROM customers_basket cb
INNER JOIN customers c ON c.customers_id = cb.customers_id
LEFT JOIN scart sc ON cb.customers_id = sc.customers_id
WHERE cb.customers_basket_date_added < 20130916
AND cb.customers_basket_date_added > 20130101
AND cb.customers_id NOT IN(SELECT sc.customers_id //Excludes people we've contacted in the last month
FROM scart sc
WHERE sc.datemodified >20130816)
ORDER BY cb.customers_id DESC