Si quieres capturar el error (perdón que no había leído completo el mensaje anterior):
Código Delphi
[-]
var
i:HWND;
begin
i := ShellExecute(Handle,
'open',
'C:\AEAT\RENT2004\mrenta2004_2.pdf',
nil,
nil,
SW_SHOW);
if (i < 32) then begin
MessageDlg('Error, no se ha encontrado el fichero', mtError, [mbOK], 0);
end;