From my experience running Linux dedicated servers (sorry I have not tried Windows servers), these are my recommended requirements for a MvM server:
CPU - 2.8+Ghz
An MvM server runs with 32 slots to allow: 6 players, 4 spectators, and 22 bots
In Normal & Advanced missions it's rare to have 22 bots so a slightly slower CPU (say 2.6Ghz) is fine. For something like Wave666 where there are many bots spawned at once you'll want something 2.8Ghz or faster.
A slightly underpowered CPU is not the end of the world. Keep in mind that because MvM is not PvP a tiny bit of stutter is not as rage inducing as it might be in PvP. If your CPU is underpowered what you'll find is that you'll get sv: FPS drops when many bots spawn, and when there's suddenly a lot of action.
RAM - 512MB
MvM server typically sits at < 400MB resident in stock configuration. Obviously allow more if you're planning to run SourceMod etc.
MvM averages ~600kbps, peaking at < 1Mbps.
Thus it is possible to run on a ADSL/Cable connection with > 1Mbps upload.
~600kbps means ~200MB/hour, if your server is full 12 hours/day you're looking at 2.5GB/day, or 75GB/month of data.