Solution
It is necessary to use the resources feature in the Cluster Manager to create separate 'slices' of the cluster for each version of Cygwin. For example, if you had:
Host1 : agent1, agent2, agent3 <- Cygwin 1.5.25
Host2 : agent1, agent2, agent3 <- Cygwin 1.7.7
You would create two resources (you can configure these in the Cluster Manager):
Resource_cygwin_1_5_25 : Host1
Resource_cygwin_1_7_7 : Host2
Then when running a build that uses, for example, 1.5.25, you would specify the following additional eMake parameter:
--emake-resource=Resource_cygwin_1_5_25
Note that this technique does not require building separate clusters for each version of Cygwin.