могу предложить немного по другому
Код:
var
A: array of PAnsiChar;
procedure TForm1.Button1Click(Sender: TObject);
...
SetLength(A,Length(A)+1);
imag.Tag:=Length(A);
A[Length(A)-1]:='путь';
procedure TForm1.OpenLabel(Sender: TObject);
begin
ShellExecute(handle, 'open', A[TImage(Sender).tag-1], nil, nil, SW_SHOWNORMAL);
end;