Right...
If the games were drawn AT RANDOM, then 10 million to 1 odds are correct.
However, the way that the fixtures are worked is that teams are paired up so that one other team (in this case Walsall) will not have a single fixture clash all season (i.e. one is home whilst one is away).
Then there is a team that will only clash with us twice all season. Then a team that will clash with us four times. Then a team that clashes on six occasions... and so on and so forth until there is one team that is virtually home when we are all the time.
The league tries to divide this up geographically, so teams near each other are paired up. Problems can arise when teams are in different divisions (e.g. Sheff Wed and Sheff Utd are kept on alternate dates but are in different leagues), and also the issue with police force boundaries (West Midlands police will always keep Villa and Brum apart, and WBA and Wolves where possible. Which two does that leave? Coventry and Walsall).
To summarise, I would have expected Cov and Walsall to be apart for much of the season due to their proximity, but not every game. This makes me think that the club have requested Walsall as the club to never clash with, but this may have been as a contingency a few months ago when this looked like a viable alternative to the Ricoh.
I will repost this article, although I know it has done the rounds a few times, as it does give a greater insight into the intricacies of the English League fixture system:
http://www.bbc.co.uk/blogs/paulfletcher/2009/06/secrets_of_the_fixture_compute.html
This isn't a dig at Noggin btw, as your maths is spot on, but I think there's more to it than you think.