If the functionality changes you will anyways have to write the new script... If the properties change yes you can update them to OR.what does changed functionality mean anyway
You can run the script in debugging mode step by step, to understand what step has changed.While running if you see, that the step is unable to identify some object you can always view this object's current properties, compare it with what are the updated properties and update the OR accordingly.