It is a lot of work. However, it's worth it in the end. As for potential failures, some tips on how to do it.
1) Turn off the option as mentioned before
2) Go to the screen with "Button" (using this as an example again)
3) In the NameMapping, right click on Button and select "View in object browser"
4) In the object browser, right click on the object that is the immediate parent of Button
5) select "Map current object"
You will be prompted at that point if you want to map all the objects in the tree including the current one. Say yes. And then follow the dialogs and prompts to generate mappings for each object.
6) Back in NameMapping, drag Button to be a child its immediate parent.
7) In Aliases, you will have Aliases now for all those newly mapped objects. You can right click on them and select "Exclude" to keep them out of your aliases.
And yes, this is a lot of work. What you might want to do is schedule this work in pieces to spread it out. Functionally, your tests will work fine with Extended Find turned on. Your task at this point is performance improvement which can be spread out over time. Again, it's worth it in the end.