Paul, you have multiple threads all dealing with issues on the order detail page.
Please limit to one thread on the topic.
the problem with your l;ink is that it is passing only the variable without a name:
the ID number being passed needs to have a variable name:
The OrderID querystring variable will be used on the order detail page to filter the recordset.
it really is best practice to use the ID number instead of a name in the querystring.
See the tutorial for creating a download center on the eCart support page for details on delivering digital goods.