I just spent two hours blaming CruiseControl.Net release candidate for a bug, which turned out to be a trailing
\ in my configuration.
So remember, kids:
nant -D:publishroot="E:\PublicBuilds\" publishbuild will invoke nant with the default target. To make it work as expected, one has to use
nant -D:publishroot="E:\PublicBuilds\\" publishbuild.