Hola..
Puedes utilizar el SheelExecute de Windows de la siguiente manera..
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
IF Trim(OpenDialog1.FileName)<>'' THEN
BEGIN
IF FileExists(Trim(OpenDialog1.FileName))THEN
ShellExecute(Handle, 'open', PChar(OpenDialog1.FileName), nil, nil, SW_SHOW)
ELSE
ShowMessage('Archivo no encontrado..!!');
END;
end;
Espero que te sirva...