As the CVS documentation explains under the heading of "Multiple Repositories", there are a few advantages to using a separate repository for each project. For instance, it allows each project to have a different group of developers working on it, and it allows you to move projects individually to other servers should the need arise.
See CvsNewMultipleRepositories for a summary of how to set up the separate CVS repositories.
If you already have multiple projects in your CVS repository, you will need to split it into multiple separate repositories. How to do this is explained at CvsRepositorySplitting.
Note: You can also use the patch from #38 (it will filter history messages). Works for me, so far. CVS view is also fixed. It will require re-importing of messages I think, so be careful. Later... The functionality of ticket #38 has now been added to the core. It will be a part of the 1.1.2 release.