Hi,
Quite a story! :) I can answer most of your questions, to begin with the installer:
I use
InnoSetup, it's freeware and fearly easy to use. If you combine it with
ISTools, you can import PDW projects, which makes it much easier to work for you. Best of all, ISTool is also freeware.
I've written a sample module that will take care of the App.Path issue, and it will be resonably easy to change you code to use it. You most likely will have to make some changes, but the sample project basically does what you're mentioning, and also demonstrates the use of extra folders.
The problem we (programmers) now facing, is that Microsoft no longer allows saving data into the installation folder - typically "Program Files\AppName". We actually shouldn't have done so from W2K on, and the sample will work on Xp and W2K as well. Honesty permits me to say I didn't check W2K, I no longer have a W2K box.
Since I've stopped using the registry to store app information a long time ago, I can't tell what will work and what not, others will probably be able to tell you.
When you update your code to use the proper folders and save all your files in that new location, you customers won't notice the difference, whether they're using XP or Vista.
HTH