When using the UpdateLayer function in ArcPyMapping, please add a parameter for the definition_query.
This parameter could be set to true, false.
True - to update the definition query using the source_layer. False - to leave the definition query of the update_layer.
This would allow the symbology of a layer to be updated, while leaving the existing definition query. This would be extremely useful in a mapbooks environment (a layer is used for different layouts/scale pages with different layer definition queries).