One build scheme that I recently had a client that was heavily reliant on TFS was the desire to do automated night builds with a full get, as well as person based builds in the queue only did incremental gets. The problem that they were running into was there were only incremental gets occurring, even when the build was requested by the Build System Account.
In order to get around this, the solution was to slightly adjust their builds by writing the $(RequestedBy) out with the Message task. Then override the BeforeGet target and set the IncrementalGet property with the CreateProperty task.
Easy as pie!