I was asked today to compare the list of allowed and disallowed characters in VSS to that of Team Foundation Source Control (TFSC). The short and simple answer is that anything that's a valid Windows filename character should be allowed in TFSC - so there are less limitations in Team System than in VSS.
Of course, there are some exceptions and "gotchas" to be aware of:
All of these things will be documented in a page similar to the VSS version above by the time we release.
On a slightly related topic, we respect casing the same way Windows does: case insensitive lookup with case preserving storage. So you can check in a file called "ABC.txt" and then check it out by specifying "abc.txt" or "aBc.tXt". So if you have a team member who likes to buck the coding policies and check in filenames with all caps, you can use the rename command to make them "pretty" again. We have some bugs around this feature in Beta 2, but again... they'll be fixed by the final release (and hopefully the next public release).
But please, don't take my word for it! Play around with this for yourself, and by all means - let me know if you find any bugs ;)