Cannot Create Business Object

SOLVED

I am using the docs and examples from the Sage University BOI class. I cannot get past a certain point. The user has full access rights.

This line returns a number "20000001"

Dim TaskID As Integer = oSS.nLookupTask("GL_Account_ui")

This line returns a number "100004" instead of the expected 1 or 0

retVAL = oSS.nSetProgram(TaskID)

Then of course this line fails

oGLAccount = oScript.NewObject("GL_Account_bus", oSS)

Complete Code Below:

    Public Sub CreateConnectionDemo()


        oScript = CreateObject("ProvideX.Script")
        oScript.Init("M:\Best\Mas 200\Version4\Mas90\Home")
        oSS = oScript.NewObject("SY_Session")

        retVAL = oSS.nlogon()

        If retVAL = 0 Then
            User = Trim(InputBox("Enter User Name"))
            Password = Trim(InputBox("Enter Password"))
            retVAL = oSS.nSetUser(User, Password)
        End If

        If retVAL = 0 Then
            MsgBox(oSS.sLastErrorMsg)
            oSS.DropObject()
            oSS = Nothing
            oSS.WScript.Quit()
        End If

        retVAL = oSS.nSetCompany("TST")

        If retVAL = 0 Then
            MsgBox(oSS.sLastErrorMsg)
            oSS.DropObject()
            oSS = Nothing
            oSS.WScript.Quit()
        End If

        retVAL = oSS.nSetDate("G/L", "20050315")

        If retVAL = 0 Then
            MsgBox("SetDate Failed - " & oSS.sLastErrorMsg)
        Else

            retVAL = oSS.nSetModule("G/L")

            If retVAL = 0 Then
                MsgBox("SetModule Failed - " & oSS.sLastErrorMsg)
            Else
                MsgBox("Current Company: " & oSS.sCompanyName & vbCrLf & "Company Data Path: " & oSS.sPathCompany & vbCrLf & "Current Module: " & oSS.sModuleName & vbCrLf & "Module Date: " & oSS.sModuleDate)
            End If
        End If

        Dim TaskID As Integer = oSS.nLookupTask("GL_Account_ui")

        retVAL = oSS.nSetProgram(TaskID)

        If retVAL = 0 Then
            oGLAccount = oScript.NewObject("GL_Account_bus", oSS)
        Else
            Dim mssg = oSS.sLastErrorMsg
            MsgBox(mssg)
        End If

        MsgBox("Read Access:" & CStr(oSS.oSecurity.nReadAccess) & vbCrLf & "Create Access:" & CStr(oSS.oSecurity.nCreateAccess) & vbCrLf & "Modify Access:" & CStr(oSS.oSecurity.nModifyAccess) & vbCrLf & "Delete Access:" & CStr(oSS.oSecurity.nDeleteAccess))

        If oSS.oSecurity.nCreateAccess = 1 Then
            MsgBox("User Has Create Privilages")
        Else
            MsgBox("User Does Not Have Create Privilages")
        End If

        oSS.nCleanUp()
        oSS.DropObject()
        oSS = Nothing
        oScript = Nothing

    End Sub