because the C++ classes are native classes in VC6 and is still native in VC 2005.
C# does not recognize native classes. Add CLR support to the DLL and move some classes from native to managed.
Reference
http://msdn.microsoft.com/msdnmag/issues/04/12/CQA/
http://msdn.microsoft.com/msdnmag/issues/02/08/CQA/
http://msdn.microsoft.com/msdnmag/issues/05/02/CATWork/