Okay, after searching the web for hours I think,
NOBODY knows an answer to this question, so I wrote
my own code, here it is (only tested on WinXP using
IE6)

first a function, that finds the default app for any File extension:
#include<Registry.hpp>
AnsiString GetDefaultApp(AnsiString ext)
{
TRegistry* reg = new(TRegistry);
reg->RootKey = HKEY_CURRENT_USER;
if(!reg->OpenKeyReadOnly("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\."+ext+"\\OpenWithList"))
return(NULL);
try
{
AnsiString MRUList = reg->ReadString("MRUList");
AnsiString ret = reg->ReadString(AnsiString(char(MRUList[1])));
return(ret);
}
catch(...)
{
return(NULL);
}
}

I also wrote a code that finds the whole OpenWithList (the first
item in the List is the default app...)
#include<Registry.hpp>
TStringList* OpenWithList(AnsiString ext)
{
TRegistry* reg = new(TRegistry);
TStringList* ret = new(TStringList);
reg->RootKey = HKEY_CURRENT_USER;
if(!reg->OpenKeyReadOnly("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\."+ext+"\\OpenWithList"))
return(NULL);
try{
AnsiString MRUList = reg->ReadString("MRUList");
for(int i = MRUList.Length(); i > 0; i--)
ret->Insert(0,reg->ReadString(AnsiString(char(MRUList[i]))));
return(ret);
}
catch(...)
{
return(NULL);
}
}

now the code to launch the default app for html files and giving
the URL as parameter:
#include<shellapi>
void OpenURL(AnsiString URL)
   {
AnsiString app = GetDefaultApp("html");
if(app == NULL)
return;
ShellExecute(NULL,"open",app.c_str(),URL.c_str(),NULL,SW_SHOWDEFAULT);
}

Now you can open a URL in a new Browser using this command:
OpenURL("http://www.AlgorithMan.de/");

CU

AlgorithMan