• "COUNT(*), on the other hand, does not eliminate NULLs."

    Actually, COUNT(val) will always eliminate nulls, but * includes all fields in the table and by definition is not null and will not be eliminated from the count. 

    I also noticed I said

    Can be 'isnull(customerid) = isnull(' & sCustomerID & ')'

    Should have said

    Can be 'isnull(customerid,0) = isnull(' & sCustomerID & ',0)'