I checked in some changes this weekend to the cvs tasks.  What they do is completely retrofit changes I have been testing that allow an override of the sharpcvs in favor of a more mature client.  The syntax should be identical to the existing tasks but there are also some additional attributes and a global "usesharpcvslib" property that allow the specification of whether or not to use sharpcvslib.  I have also added fileset support for non-sharpcvslib clients, but unfortunately sharpcvslib does not support this yet so it will just display a help message.
I have encountered the following issues which I will try to work through:
    1) not specifying CVS_HOME environment variable failure to find cvs: caused by bug in path search?
    2) using .net version 1-1 causes sharpcvslib command line client (compiled under version 1.0) to gac: I am going to look into using the "useruntime" option for this.
If you want to globally switch your client specify the property:
        <property name="sourcecontrol.usesharpcvslib" value="false"/>
The task also supports a a css-type scoping (i.e. the property closes to the execution of the object defines which is used), in case there are some features/ uses for a specific client at a more detailed level.
Please file a bug and/ or send me an email if you come across any issues, and feedback is always welcome.