The issue that you're running into is that the two separate queries have different criteria and you aren't taking that into account when you are combining them into one query. (I'm also not sure why you are adding one to the count.)
You're also trying to do this in a procedural manner rather than a set-based manner. You're trying to do it separately for each company instead of processing all of the companies at the same time.
I believe that the following will give you what you need.
CAST(Count(rr.[company_name]) AS decimal(10,2))/NULLIF(SUM(CAST(Count(rr.[company_name]) AS decimal(10 ,2))) OVER(), 0) AS Percent_INSF
FROM [dbo].[return_rows] rr
WHERE [return_code] = 'R01'
GROUP BY rr.[company_name]
Note that the code uses a windowed function
SUM() OVER() of an aggregate
PS: A CTE is PART OF the following statement, so using a CTE with a SELECT is using a single statement.
J. Drew Allen
Business Intelligence Analyst