Eigentlich sollte es funktionieren.
Du kannst es höchstens mal ohne das 'open' versuchen ... wenn kein Befehl für 'open' definiert wäre, dann gäbe es damit Probleme.
(ohne eine Angabe bei "operation", wird immer die Standardmethode aufgerufen, womit meistens eine Datei geöffnet/gestartet wird)
Code:
ShellExecute(0, [color=#ff0000]nil[/color], '...', nil, nil, SW_SHOWNORMAL);
Ansonsten vermute ich mal einen Fehler in deiner Dateiangabe ... z.B. Fehler im Verzeichnis/Dateinamen