No, the coordinates are always accessed during assembly so you don't need to worry about recreating the FunctionSpace or other variables.
One exception is point evaluation of a Function. In that case, you need to update the BoundingBoxTree used to compute the location of points in the Mesh. You can update the tree (using the development version) by
mesh.bounding_box_tree.build(mesh)
or (on older versions) by
mesh.intersection_operator().clear()