Calculating the number of Mondays between two dates was the subject of the following thread:
http://www.sqlservercentral.com/forums/shwmessage.aspx?forumid=8&messageid=258968
My suggestion was the following:
select datediff(d, '19000101', @dateTo)/7 - datediff(d, '19000102', @dateFrom)/7
I still believe this is the fastest method to calculate the number of Mondays between two dates. On the other hand, it is not very flexible...