ContentByQueryWebPart is marked as a non CLS-compliant class which means this class or any derived type may not be interoperable with a wide range of .Net supported programming languages. Generally, C# complier does not check for CLS compliance of your code and you have to explicitly instruct it to do so. This class for whatever reason is not decorated to be CLS-compliant and it should be used with extra caution in regards to interoperability.
[CLSCompliant(false)]
public class ContentByQueryWebPart : CmsDataFormWebPart
{
.....
}
HTH,
Reza Alirezaei, MVP
Blog: http://blogs.devhorizon.com/reza