Ok. For documentation sake, here is what I did:
I ran Sacred 2 using "Run Command..." and created a log file. Despite not seeing the game run, it is being started but quits again immediately so you get the impression that nothing happens when you try to run it. Checking the log created, I then noticed that one of the very last things it did was try something with .NET (well...just before quitting, it accesses mscoree.dll which, acc. to what I learned following up on another problem in another game is part of .NET).
I also re-read Vincent Povirks msg and looked on the Sacred 2 page
Vincents msg had me decide to re-install .NET and additionally, to not have to run Steam every time just to start the game, I added a link to the game directly in the bottle.
To add the link to the bottle:
double click "Run Command.."
click on Browse and navigate to "drive_c:\Program Files\Steam\steamapps\common\Sacred 2 Gold\system\sacred2.exe" then choose "Save Command as Launcher"
You should now get an additional icon to the exe file of the game. It will still log in to Steam but at least there is no need to start Steam separately, navigate to the game and start it from there.
Once the link is created, you can close the "Run Command..." window.
As I am not a great .NET specialist, I chose to install .NET 2 based on the time frame of when the game was originally released. It may be that another version might work better but this worked for me.
To do that
right click on the bottle name and choose "Install Software into <bottle name>" (<bottle name> is the name you or the original install chose to give the bottle at creation time)
enter .net and select the base item ".NET Framework 2.0".
Repeat for the 2 service packs
Try and run the game.
edit: oh...the first time, it took very long to start the game; long enough for me to wonder whether anything happened.