Hola Martin:
Yo intenté ejecutar lo que estás usando desde la ventana de comandos (cambiando de archivo), y no me funciona, pero hice esta prueba desde la ventana de comandos del DOS cambiando algunos parámetros de lugar, como dice la ayuda del 7zip, y si me funciona:
"C:\Archivos de programa\7-Zip\7zg.exe" a "c:\errores.zip" "c:\*.txt" -mx9
Ahora, hice lo mismo desde Fox usando lo que ya te había comentado y también me funciona:
WshShell = CreateObject("Wscript.shell")
lcCommand = ["C:\Archivos de programa\7-Zip\7zg.exe" a "c:\errores.zip" "c:\*.txt" -mx9]
WshShell.Run( lcCommand, 1, .T. )
Si reemplazás los nombres de archivo por tus variables y verificás que lcCommand siga quedando con la sintaxis que te puse, tiene que funcionar.
Además tenés que poner el directorio de tu 7zip, pero principalmente tu primera prueba tiene que ser desde el DOS, no desde Fox, para comprobar que funciona.
Saludos.-