I don't think there is any direct way to do something like this without plugin code or enhancing something elsewhere, but I may be wrong.
One way to go about that would be to have whatever tracks the build number be done externally, within
build.cmd itself. That way no matter how you execute the build (from within sublime, from the command line, etc) your build number would always auto-increment, which from a completeness/correctness standpoint may be the "best" way (best being used very loosely).
It is possible to modify a build system so that instead of invoking the
exec command directly to execute the build, it executes a custom sublime command instead (from a plugin). That would necessitate building some plugin logic that either tracks the current build number and increments it every time, or prompting the user for what to use.
Prompting the user may quickly get tedious if you do frequent builds, although you could mitigate that somewhat by perhaps remembering what was used last time and then providing that as the default for next time, or only asking on the first build in a session and then auto-incrementing after that.
Below is an example of enhancing the build system to allow you to specify your own custom build variables outside of those inherently supported by Sublime. The code assumes that the extra settings are coming from a setting specific to the project file, but you could modify that so that instead of doing that it looked e.g. at some file on disk and used that as the value of the variable instead.