Some thoughts. Change the last parameter from "Graphic" to "Logo". Also, you can check to see if SetLink returns 1 for Success or 0 for Failure. If it fails, I'd suggest using the HaveLogo DAL function to see if your Logo exists.
One last thing, the object (variable field, graphic, or text label) referenced by SetLink must have an initial hyperlink setting so make sure you Logo has an initial hyperlink set on it.
As Sherman said, the type parameter is "FIELD", "LOGO", or "TEXT" despite the fact that the help says "graphic". That needs to be corrected - either in the doc or in the code.
My second thought is that your call may not be specific enough to find the graphic in question. You appear to be omitting the section, form, and group (line of business) parameters. Therefore, depending upon where this script is executed, it may only look at the 'current' section and not look any further. So if you are calling the script from an associated field on the same section, that's fine. Or if this is a section DAL rule and that is the section where the graphic is, then you may be okay. However, if this is executing at some global scripting - or from a location not otherwise known to be on the same section with the graphic, you may need to provide more parameters. Worse case is you can tell it to look anywhere in the form set by providing an asterisk as the parameter to the group name. Not the most efficient method, but certainly will scan everywhere.