SQL Server 2005 dynamic pivot with nulls using count() and CTE when columns are unknown
===

I am soo close!
I have a survey and the client wants to be able to see reports using various weights for the answers. SQLFiddle only allows 2008 and up but in 2005 I am getting these results:

    Lesson wt count -> | w1_5 | w2 | w3 | w5_5 | w6_5 | N
    -----------------------------------------------------
    q2	               | 1.5  | 2  | 3  | 5.5  | 6.5  | 9

Obviously they should be counts and not weights. 

Furthermore the only record being returned happens to be a row that has 0 nulls.

I have made an [SQLFiddle](http://sqlfiddle.com/#!3/9d106/15/0) with a non-dynamic example of my expected outcome at the bottom.
Here is my previous work ([1](http://stackoverflow.com/questions/11404062/sql-server-advanced-report-of-multiple-rows-into-one),[2](http://stackoverflow.com/questions/11459355/sql-server-2005-fill-pivot-table-with-0s),[3](http://stackoverflow.com/questions/11465666/sql-server-2005-percentage-in-parenthesis-in-pivot-table))