How do you get a count for an aggregated row?
SELECT  sp.advcode AS Advertiser,
        ii.*
    FROM  
      ( SELECT  count(*) AS Created,
                COUNT(i.sent) AS Sent,
                sum((i.active = 1) AND (i.sent IS NULL)) AS ActiveUnsent,
                count(i.inquiryId) AS Total,
                COUNT(i.campaignLeadId) AS CampaignLeads,
                sum(i.active = 0) AS Inactive
            FROM  inquiry i
            WHERE  i.dateCreated &gt;= '2016-02-02'
              AND  i.dateCreated  &lt; '2016-02-02' + INTERVAL 1 MONTH
            GROUP BY  i.schoolProfileId 
      ) AS ii
    LEFT JOIN  schoolProfile sp ON sp.schoolProfileId = ii.schoolProfileId ; 
    WHERE  sp.advcode LIKE 'al007'


Notes:


By not having a JOIN, the counts are more likely to be correct.
COUNT(nullable-column) simply count how many non-nulls there are
Boolean expressions evaluate in SUM() as 0 or 1, thereby obviating the CASE.
In your BETWEEN, you probably included an extra day. 
i needs INDEX(dateCreated)
I assume you are using InnoDB and schoopProfileId is the PRIMARY KEY of schoolProfile?
If you really need LEFT, then you might get NULL for Advertiser?
If you don't need LEFT, then ...


The following might be faster:

SELECT  
      ( SELECT  advcode
            FROM  schoolProfile
            WHERE  schoolProfileId = i.schoolProfileId 
              AND  advcode LIKE 'al007'
      ) AS advertiser,
        count(*) AS Created,
        COUNT(i.sent) AS Sent,
        sum((i.active = 1) AND (i.sent IS NULL)) AS ActiveUnsent,
        count(i.inquiryId) AS Total,
        COUNT(i.campaignLeadId) AS CampaignLeads,
        sum(i.active = 0) AS Inactive
    FROM  inquiry i
    WHERE  i.dateCreated &gt;= '2016-02-02'
      AND  i.dateCreated  &lt; '2016-02-02' + INTERVAL 1 MONTH
      AND  EXISTS 
      ( SELECT  *
            FROM  schoolProfile
            WHERE  schoolProfileId = i.schoolProfileId 
              AND  advcode LIKE 'al007'
      )
    GROUP BY  i.schoolProfileId;