Question: When running msbuild.exe with ANT's exec task, errors in the .net code do not result in the build process failing.

Why would this be?

Answer: 
I use Nant to run some MSBuild tasks. Every time I use the `failonbuild` attribute of that task, it fails for me. Looking at Apache's documentation for Ant, it would appear the same attribute is there as well. Are you using this attribute?
What do you let the msbuild task do ?

When I used NAnt previously, I used the task to build a VS.NET solution.

Right now, I'm not using NAnt anymore, I use msbuild instead. :)