Without seeing your script I'd say that your hypothesis is reasonable. The error you're seeing should be thrown on the line of your script where you ".Get" the "gpLink" property. Put some error trapping around that line and you should be fine. The first script you link to has such error trapping (albeit in the sloppy form of an "On Error Resume Next" high in the script rather than a nice error handler at the point where the error could occur).
Edit:
Here's a "remix" of the script you linked to at Microsoft with some error handling around the ".Get" I talked about. When the "gPLink" attribute isn't specified the ".Get" would cause the error you're seeing so trapping it with the "On Error Goto" end-runs the error. (I really should be checking what error is returned and acting appropriately for the error returned...)
Option Explicit
Dim objiADSToolsDCFunctions, objOU, objGPOs, gPLink, i, gPOChosen
Const DNS_DOMAIN_NAME = "domain.com"
Const OU_DN = "ou=test,dc=domain,dc=com"
Set objiADSToolsDCFunctions = CreateObject("iadstools.dcfunctions")
Set objOU = GetObject("LDAP://" & DNS_DOMAIN_NAME & "/" & OU_DN)
objGPOs = objiADSToolsDCFunctions.GetGPOs("flounderball.gov","home-srv01")
If objGPOs > 0 Then
For i = 1 to objGPOs
WScript.Echo objiADSToolsDCFunctions.gponame(i)
WScript.Echo Chr(9) & objiADSToolsDCFunctions.gpoguid(i)
Next ' i
WScript.Echo "The objOU you will be modifying is:"
WScript.Echo Chr(9) & objOU.adspath
gPOChosen = InputBox("Enter the name of the GPO to add (case insensitive):")
If gPOChosen <> "" Then
For i = 1 to objGPOs
If LCase(objiADSToolsDCFunctions.gPOName(i)) = LCase(gPOChosen) Then
On Error Resume Next
gPLink = objOU.Get("gPLink")
On Error Goto 0
gPLink = gPLink & "[LDAP://CN=" & objiADSToolsDCFunctions.gPOGUID(i) & ",CN=Policies,CN=System," & objiADSToolsDCFunctions.getdefaultnamingcontext(DNS_DOMAIN_NAME) & ";0]"
objOU.Put "gpLink", gpLink
objOU.SetInfo
WScript.Echo "Successfully added a link to this objOU for the GPO (" & objiADSToolsDCFunctions.gponame(i) & ")"
Exit For
End If
Next ' i
End If
End If