Your WHERE-condition mixes AND and OR, there's a precedence of evaluation, NOT - AND - OR
This is your current condition, adding brackets for clarity:
WHERE
(tbl_status.deleted = '0' AND tbl_blocking.user != :who)
OR tbl_blocking.user IS NULL
You might want this intead:
WHERE
tbl_status.deleted = '0'
AND (tbl_blocking.user != :who OR tbl_blocking.user IS NULL)