I'm not sure what you are asking in your second paragraph. If you mean that your PGcourse.pl only affects your course and no one else's, then that is correct. If you want to make problems that always include the new version button, then you can include the problemRandomize.pl code into the PG file directly.
There is a configuration variable that gives the directories to search for macro files. It starts with the directory containing the PG file itself, and then uses your course's templates/macros folder, then (depending on your configuration) the WeBWorK problem library's macro folders, and usually ends with the main pg/macros directory.
PGcourse.plwas meant as a place where you could put course-wide customization and other setup functions. It is useful for things like the "Show Source" button that we have in some example courses that allow you to view the source code of a problem, or (as in your case) adding the re-randomizing macros to all the files.