A temporary macro created on the command-line will not update environment variables. Either:
1) Add a Set Macro step (with 'Add to environment variables' checked, Temporary macro type) to set BUILD_NO equal to %BUILD_NO%
This will force the BUILD_NO environment variable to be updated with the current BUILD_NO macro value.
or
2) Pass the value on the command-line with a different name (i..e, TEMP_BUILD_NO=123), and in the called project, add a Set Macro step (with 'Add to environment variables' checked, Temporary macro type, and a build rule to Build only if %TEMP_BUILD_NO% is undefined) setting BUILD_NO to %TEMP_BUILD_NO%
http://www.kinook.com/VisBuildPro/Ma...acroaction.htm
http://www.kinook.com/VisBuildPro/Manual/buildrules.htm