I'll speak specifically for my situation testing a Web based front end. I worked closely with the development team to ensure they supplied a unique identifier ( in my case IdStr) for each UI element, this allows me to avoid object mapping and dynamically interact with the element of interest. As others have mentioned, building in error handling is essential no matter what the object access method is.
The bottom line is, if automation is important to your project team and the problem your having can be solved as I described, this shouldn't be a tough issue to solve. The switch from object mapping to finding a Unique ID may take some time but will pay off in the long run. I would be happy to provide more details if need be.