There's not much different at all; they both ultimately call CreateProcess to run a program. Using NUnit 2.2, NCover 1.3.3, and VBP 5.5, the following step:
<step action='Run Program' type='0'>
<command>"C:\Program Files\NCover\ncover.console" /c "c:\Program Files\NUnit 2.2\bin\nunit-console.exe" mock-assembly.dll</command>
<indent type='3'>1</indent>
<name>Run NCover</name>
<outputfrom type='3'>1</outputfrom>
<startin>C:\Program Files\NUnit 2.2\bin</startin>
</step>
Ran without errors and produced this output:
NCover.Console v1.3.3 - Code Coverage Analysis for .NET -
http://ncover.org
Command: c:\Program Files\NUnit 2.2\bin\nunit-console.exe
Command Args: mock-assembly.dll
Working Directory:
Assemblies:
Coverage File:
Coverage Log:
******************* Program Output *******************
NUnit version 2.2.0
Copyright (C) 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole.
Copyright (C) 2000-2003 Philip Craig.
All Rights Reserved.
OS Version: Microsoft Windows NT 5.0.2195.0 .NET Version: 1.1.4322.573
.....N.N.N.
Tests run: 5, Failures: 0, Not run: 3, Time: 0.050072 seconds
Tests not run:
1) NUnit.Tests.Assemblies.MockTestFixture.MockTest5 : Method MockTest5's signature is not correct: it must be a public method.
2) NUnit.Tests.Assemblies.MockTestFixture.MockTest4 : ignoring this test method for now
3) NUnit.Tests.Assemblies.MockTestFixture.ExplicitlyR unTest : Explicit selection required
***************** End Program Output *****************
Copied 'C:\Program Files\NCover\Coverage.xsl' to 'c:\Program Files\NUnit 2.2\bin\Coverage.xsl'
Do you have a reproducible test case?