I have created an object repository for the application that I am currently automating. It was quite simple actually. I am writing my app using RC and my source code is in C#, but this is extensible to any language. Basically I have a class that contains all the xpath values for every object in my
application. When I need to access something in the app from the automation, my calls look like this
where xp is an object of the class containing all the xpath strings and the application_screen_X_save_button_xpath is a string member of that class.
Now, if the application is updated, I just need to spend a short amount of time resetting all the xpath values in the xpath class for my automation. I can do this using xpather or a similar tool.
This approach is working fantastically for me.