Moin Patrik,
als erstes würde ich mal das Verb mit dazuschreiben
Shellexecute( Application.MainForm.Handle, 'open', tempchar , nil, nil, SW_SHOW);
Bei nil sollte zwar, i.d.R., open automatisch genommen werden, aber sicher ist sicher
Sollte das auch nicht gehen, schau Dir mal an, ob denn für HTTP überhaupt ein Verknüpfung vorhanden ist.
Zu finden unter:
HKEY_CLASSES_ROOT\http\shell\open\command