I will check when I get home from work today - but this is almost certainly wfuidoc not set when document opened via a link. Hiding the approve/reject buttons in read mode should do the trick, or moving the wfuidoc init to the init of the libarary, or checking if is nothing before using it i.e. in the buttons:
if not isInitialized then
if wfuidoc is nothing then
dim wfuiwork as new notesuiworkspace<br/>
Set wfuidoc = wfuidork.currentdoc<br/>
end if
Call WorkflowProcess
VH