Condense Query Results with Wildcard
You can use the SUBSTRING_INDEX() function to get the part before the first dot and then group:

select SUBSTRING_INDEX(programVersion, '.', 1) AS programMajorVersion, 
       count(programVersion) AS totalIncrements 
     from records R 
     inner join Programs P 
         on P.programID=R.usageProgramID 
     where programName="word" 
     group by SUBSTRING_INDEX(programVersion, '.', 1) 
     order by CAST(programMajorVersion AS unsigned) ;


The above may not be the most efficient on a large table. If you have indexes that your version uses and is efficient, you may use that as a derived table and then aggregate with the substring function: 

select SUBSTRING_INDEX(programVersion, '.', 1) AS programMajorVersion, 
       SUM(cnt) AS totalIncrements 
     from  
     ( select programVersion, count(programVersion) AS cnt
         from records R 
         inner join Programs P 
             on P.programID=R.usageProgramID 
         where programName="word" 
         group by programVersion
     ) AS t
     group by SUBSTRING_INDEX(programVersion, '.', 1) 
     order by CAST(programMajorVersion AS unsigned) ;