Changgyu from Avanade brought this interesting problem to my attention -

If you are using Continuous Integration with Assembly Version task, build server will go into infinite recursion of builds.  Each CI build will update the assembly version and the task will make the checkin, which in turn will ask the CI web service for another build.

Luckily, Changgyu found a simple and elegant solution for this.  The Assembly Version task makes the checkin with a fixed comment string and while subscribing for the checkin event, you can use that info as the filter. To do this, just pass following extra switch to the BisSubscribe command that you are using for subscribing to the event -

/filter "(Comment<>'Auto-Build: Version Update')"

where 'Auto-Build: Version Update' is the fixed comment string.

Special thanks to Changgyu for sharing this.