OK, I looked into this and this is what I found:
OK the script file (131466.user.js) and go to the very last line. It looks like this;
}, (window.location.pathname == '/')?2000:0)
Change this to:
}, (window.location.pathname == '/')?2000:(window.location.pathname.indexOf('gamecard') != -1)?1000:0)
This delays the script for gamecard pages which allows them check your logged in status, which is needed for the script to work.
EDIT: At first I tried 400, then 500, now 1000 for the delay. I'm not sure if this is the best way to wait until the user validation occurs...
Found a fix for the gamecard problem... (see the code above in this post)
Addition fix:
Since the gamecards window titles have changed to include the price, this line:
var title_matches = document.title.match(/^(.*) - GOG.com/)
Needs replaced with:
var title_matches = document.title.match(/^(.*) for download \$(\d)+.\d\d - GOG.com/)