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).
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/UpdateLayer/00s30000003p000000/