Yes, it works well if not more than one of the two dates already is a monday. Using this code
select (datediff(d, '20060213', '20060724') + 1)/7 - datediff(d, '20060213', '20060717')/7
reports 1 monday to me, where it should report 2 mondays.
But your query is very fast.
N 56°04'39.16"
E 12°55'05.25"