The .gmapi file is actually a directory and not a single file. It is not used on Windows at all. If you copy the .gmapi file to a Macintosh, it does appear as a file and not a directory however, but it's a "package". Double-clicking it on the Mac will simply cause the enclosed .gmap folder hierarchy to be copied to the Basecamp map directory.
Now, on Windows, you need to first open the .gmapi folder and remove the enclosed .gmap folder. As explained earlier, you simply place this folder hierarchy in the designated Mapsource/Basecamp directory (C:\ProgramData\GARMIN\Maps). Both Mapsource and Basecamp know how to read this format. And that's the beauty of it IMO, it is completely self-contained with everything needed to use the map in either Basecamp or Mapsource. If you look inside, you will see that the custom type file (if any) is also included.
So, in other words, it behaves more like I would expect modern software. Mapsource and Basecamp read the files in the .gmap folder and display the enclosed map. If you delete that folder, the map will be gone. The registry is not used for any of this.
I've attached a small (2.4MB) sample .gmap - it is zipped just for the purpose of attaching it to this post. Unzip it and copy it to C:\ProgramData\GARMIN\Maps. The map covers 4 USGS Quads roughly centered on Central Park in New York City. It should appear in both Mapsource and Basecamp as gmap-test.
The install directory location might be different on Windows XP, but it should be C:\ProgramData\GARMIN\Maps on Windows Vista and Windows 7. Looking briefly at the NSIS docs, I think you could select the correct directory like this
SetShellVarContext all
InstallDir "${APPDATA}\GARMIN\Maps\${MAP_SHORT_NAME}"