Building the invidiual sub projects first and then referencing the compiled assemly (in build folder ) in the main project turned out to be a bad idea. After completing the build thought of testing (fortunately!! ) it for build success and a build failure.
For the failure I removed a much needed reference (one of the sub projects) from the main project and then checked in the project file and was expecting a build fail email from ccnet (CruiseNet) but was baffled to see a success mail instead.
A little bit of thinking on it got me to the much obvious reasons (was stupid of me not to have foreseen that) the process I was following was of building the sub-projects and pushing the compiled sub project assembly in the build folder and then the project would reference the sub project assembly from the build folder.
The problem was even though I had removed the reference from the main project file, my compiling of the sub project would automatically push the assembly in the build folder
and since we have to hard code the references it would find it and give a successful build even though it was a failure.
moral :- Use a solution task and build the solution instead of individual projects to automatically detect the references in the project.