John,
I used cvs2hg on a 1.8GB CVS repo with multiple branches and it worked
fine resulting in an hg repo with >18k changesets. My cvs repo was
hosted on linux. I assume (but am not sure) it would work on your
windows hosted repo as well.
cvs2hg does some things to try to recreate the exact behavior of cvs
which may or may not result in an "odd" conversion depending on how far
your cvs usage patterns diverge from what is possible with hg (e.g. only
tagging or branching parts of the CVS repo).
There are quite a few options that can control this behavior so your
best bet is to just try it.
You can subsequently use hg convert to, for example, split up the single
output repo into subrepositories or all varieties of other history
changes if you want.
I did quite a bit of that myself and in retrospect, I am not sure if it
was worth it besides satisfying my pedantic nature.
Best,
Tom