The version in capabilities.xml is for the robot's capabilities itself and it is cached on the robot proxy server. So everytime you update any capabilities (add new capabilities or remove current ones) you have to spike up this version in capabilties.xml. Else Robo proxy will still be using the older cached ones. You don't have to change this everytime you make changes to the other components of the app.
Also you do not have to update the version of appengine-web.xml everytime you deploy the code on your dev cycle. This is meant to have copies of your major/minor releases of your app. I am sure you already know that.
So you should think of the version in capabilities to tag different versions of your robot with different set of abilities.
thanks
~
Prathap