The problem is I was doing this under the Scriptish addon environment, which while originally forked from Greasemonkey has a recorded (and still unfixed) bug where GM_openInTab returns null.
I have attempted to alert them of the ongoing nature and annoyance of this bug, but nothing has happened yet. It will be up to the Scriptish developers to fix this, and it's a shame it hasn't been fixed as I find Scriptish to suit my needs far better than Greasemonkey due to privacy concerns.