OK... a bit strange to answer my own question so long after the fact but here goes:
My experience has been: Don't look for solutions that perform explicit installations/update like Steam et al.
What you should instead seek to do is use a tool that provides 'desired state configuration' and deploy it across all of your nodes.
Classic examples are Chef and Puppet.
Specifically, in my own environments, I've ended up deploying Chef for this purpose and it works brilliantly. By using the publicly available Windows cookbook I've been able to script automatic installation + reinstallation of the product when it is deemed to be necessary. (In my case, I'm using WinSCP - which is scriptable - behind the scenes to sync up a folder of build EXEs. I then perform reinstallation etc. if the modification times have changed).
Chef - and this probably goes for Puppet etc. too - makes it very easy to track arbitrary information about what is stored on a particular node. In my case it has been sufficient to just track the build modification time at node-level (as an attribute) in order to work out when the currently installed build is stale.
It's entirely possible that this is pushing/bending the intended purpose of these tools - but they fit the bill very well.
I highly recommend this approach if you are looking to solve a similar problem