The solution to the problem is to write as many of your changes as possible as plugins, rather than changing the core Q2A code. Of course, this won't be possible for everything, but Q2A 1.4 is introducing several new ways in which it can be extended via plugins. As time goes on, I imagine more ways will be added. For things that can't be done via plugins, yes, you should keep good notes of changes you make to the core, and reapply them to future versions.